Activity 启动流程

作者 : 开心源码 本文共417个字,预计阅读时间需要2分钟 发布时间: 2022-05-12 共114人阅读

下面的流程是 API 27,不同的版本之间差异不大,但在细节上有区别。
点击桌面应用图标或者自己程序启动Activity过程,因为过程比较长,所以分段来详情。

从 Activity#startActivity 到切换到 ActivityThread 的过程

这部分比较繁琐切没太大意思,不同的版本走的过程有些差异。

activity01.png


ActivityThread 到调起 onCreate 过程

下面的代码你可以注意到下面几点

  1. ApplicationThread 实现了 IApplicationThread.Stub
  2. ActivityThread 是程序的入口,可以看到 main 方法,在 main 中关联 Looper,
  3. Activity 是通过反射创立的,Instrumentation 这类关系到 Activity 的生命周期,可以通过 hook Instrumentation 实现插件化。

activity02.png

具体的代码就不帖了,自己画一张流程图比简单的贴代码更直观。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Activity 启动流程

发表回复