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

activity启动四-总结

程序员文章站 2022-06-22 08:49:27
1、启动桥梁 Intentintent初始化时启动信心封装在ComponentName中,包括包名和类的完整名称2、Instrumentation 仪表类启动Activity时获取AMS的引用(binder)Activity各生命周期调用3、AMS持有活动栈管理对象(ActivityStackSupervisor)要启动的类检测完毕后让启动的Activity进入 onPause状态检测应用程序进程是否已经存在,不存在就将启动信心通过socket传入zygote进程,让其孵化应...

1、启动桥梁 Intent

intent初始化时启动信心封装在ComponentName中,包括包名和类的完整名称

2、Instrumentation 仪表类

启动Activity时获取AMS的引用(binder)

Activity各生命周期调用

3、AMS

持有活动栈管理对象(ActivityStackSupervisor)

要启动的类检测完毕后让启动的Activity进入 onPause状态

检测应用程序进程是否已经存在,不存在就将启动信心通过socket传入zygote进程,让其孵化应用程序进程

接收程序入口(ActivityThread中的main方法 )信息,让client初始化并绑定application

接收到applicaiton绑定成功的信息后真正的启动Activity

activity处于onResume后,通过进程间通讯让launcher执行onStop生命周期

4、ActivityStackSupervisor

获取PackManagerService,解析Intent

5、PackManagerService

持有的本地服务根据ComponentName封装的信息检测程序是否安装,并返回应用程序信息

6、ActivityThread 与内部类ApplicationThread

程序的真正入口(main),告知AMS进程孵化成功

初始化并绑定application

收到 AMS可以启动Activity信息后,通过H(继承了Handler)发送启动Activity请求

获得mClassLoader加载初始化activity,进入onCreate->onStart->onResume生命周期

将Idler加入消息队列,其执行后告知AMS活动已处于运行状态,让AMS去通知Launcher执行onStop

 

 

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