Activity启动二
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.csdn.net/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生命周期
本文地址:https://blog.csdn.net/pydlxh/article/details/107117021
上一篇: 数据离散化+树状数组+dp优化