0%

1.判断对象是否存活

1.1引用计数法
给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加2;当引用失效时,计数器值减1。但是这种计算方法很难解决对象互相循环引用的问题。

Read more »

1.内存区域

Java虚拟机在执行Java程序的过程中会把管理的内存分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间。

Read more »

Retrofit是Android端网络请求框架,支持标准的HTTP协议。简单易用,代码量少。比较有意思的是Retrofit主要原理是动态代理和反射,感觉这种想法比较新颖。本文分析的版本是Retrofit1.9.0(2.0.+有挺多变化的)。
阅读之前请了解Java动态代理。推荐Java动态代理

Read more »

1 功能介绍

Picasso是square推出的一个Android平台的图片加载开源库。
包含内存缓存和磁盘缓存两级缓存。
可定制度高、自定义配置、提供接口自定义处理图片等。
在 Adapter 中自动处理 ImageView 的缓存并且取消之前的图片下载任务。

Read more »

在Activity显示到界面流程的最后一步ViewRoot.setView中有个requestLayout方法,这个方法其实就是请求绘制view。

Read more »

之前分析了界面显示流程,显示以后,界面将接收用户操作事件,本文将分析Touch事件分发机制。

Read more »

之前分析过Activity的启动流程,虽然Activity启动了,但是显示在界面上的并不是Activity,接下来将分析Activity显示到界面的流程。

Read more »

在学习这张之前请先学习Android IPC进程通信。
在Android系统中,有两种操作会引发Activity的启动,一种用户点击应用程序图标时,Launcher会为我们启动应用程序的主Activity;
应用程序的默认Activity启动起来后,它又可以在内部通过调用startActvity接口启动新的Activity,
依此类推,每一个Activity都可以在内部启动新的Activity。所以首先我们将分析第一种情况。 以下代码只看主干和重要部分,其他将省略,有兴趣自己翻源码。

Read more »