欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Activity启动二

程序员文章站 2022-06-21 19:25:51
1、开始处理让目标activity进入onResume生命周期的事宜2、目标activity要启动前先让启动者进入onPause状态3、通过进程间通信调用client端让启动者onPause4、上图调用点是4、mH既然是handler,已经分析过sendMessage最终会调用到5、activity进入调用onPause生命周期6、看到这不难看出activity的生命周期调用都是通过 mH这个对象放入其对应的消息队列处理7、启动activity...

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

Activity启动二

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

Activity启动二

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

Activity启动二

4、上图调用点是

Activity启动二

Activity启动二

Activity启动二

Activity启动二

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

Activity启动二

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

Activity启动二

6、看到这不难看出activity的生命周期调用都是通过 mH这个对象放入其对应的消息队列处理

7、启动activity进入onPause后,目标activity则开始加载知道进入onResume生命周期,如果是拉起新的应用,自然要先启动application下面看下application生成过程

8、由于application未生成,故进入下面的代码分支

Activity启动二

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

Activity启动二

10、Process类

Activity启动二

11、zygote对象

Activity启动二Activity启动二

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

Activity启动二

Activity启动二

Activity启动二

13、数据写入后,zygote进程就会孵化目标进程,然后调用 ActivityThread方法中的main方法,程序的真正入口浮现

详情请看https://blog.csdn.net/u012267215/article/details/91406211

14、ActivityThread中的main方法

Activity启动二

15、attach方法

Activity启动二

16、AMS中的attachApplication

Activity启动二

Activity启动二

17、ActivityThread中mAppThread开始绑定application

Activity启动二

18、绑定Application方法

Activity启动二

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

Activity启动二

Activity启动二

20、初始化application

Activity启动二

Activity启动二

Activity启动二

21、Application的onCreate生命周期

Activity启动二

本文地址:https://blog.csdn.net/pydlxh/article/details/107117021