Activity启动流程源码分析

以下是在eclipse中跟踪源码的。

我们直接在工程中关联源码,有的隐藏的类是看不到的,虽然你在文件夹中能找到这个类,例如ActivityThread.

我们直接把android的源码作为一个java工程导入到eclipse就可以了,还可以使用eclipse的快捷键。查看起来比较方便,只是不要去Build。

步骤

a:在eclipse里面创建一个java工程, 创建工程时, 把Use default location这个选项去掉.

b:然后点击Browe, 找到电脑上android 系统源码所在位置, 点击确定, 再接着把这个工程创建出来, 那么完整的android系统源码就成功的导入到eclipse里面了。


具体的代码跟踪如下:

1、startActivity方法最终调用到Instrumentation中的方法

Activity启动流程源码分析


2、

Activity启动流程源码分析

3、


Activity启动流程源码分析

4、

Activity启动流程源码分析

5、

Activity启动流程源码分析

6、

Activity启动流程源码分析

7、

Activity启动流程源码分析

8、

Activity启动流程源码分析

9、

Activity启动流程源码分析

10、

Activity启动流程源码分析

11、

Activity启动流程源码分析


12、

Activity启动流程源码分析


13、

Activity启动流程源码分析


14、

Activity启动流程源码分析


15、

Activity启动流程源码分析


16、

Activity启动流程源码分析


17、

Activity启动流程源码分析


到现在整个activity的启动流程基本OK,后面继续分析ActivityThread和ActivityManagerService(AMS)两个进程如何通过Binder通信的。