1、开始处理让目标activity进入onResume生命周期的事宜

2、目标activity要启动前先让启动者进入onPause状态

3、通过进程间通信调用client端让启动者onPause

4、上图调用点是




4、mH既然是handler,已经分析过sendMessage最终会调用到

5、activity进入调用onPause生命周期

6、看到这不难看出activity的生命周期调用都是通过 mH这个对象放入其对应的消息队列处理
7、启动activity进入onPause后,目标activity则开始加载知道进入onResume生命周期,如果是拉起新的应用,自然要先启动application下面看下application生成过程
8、由于application未生成,故进入下面的代码分支

9、通过AMS调用启动进程的方法

10、Process类

11、zygote对象


12、通过socket连接zygote进程,让其孵化目标进程



13、数据写入后,zygote进程就会孵化目标进程,然后调用 ActivityThread方法中的main方法,程序的真正入口浮现
详情请看https://blog.youkuaiyun.com/u012267215/article/details/91406211
14、ActivityThread中的main方法

15、attach方法

16、AMS中的attachApplication


17、ActivityThread中mAppThread开始绑定application

18、绑定Application方法

19、加载程序的ClassLoader和Context的实现类ContextImpl


20、初始化application



21、Application的onCreate生命周期

1270





