activity启动四-总结

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值