Activity 启动流程
下面的流程是 API 27,不同的版本之间差异不大,但在细节上有区别。
点击桌面应用图标或者自己程序启动Activity过程,因为过程比较长,所以分段来详情。
从 Activity#startActivity 到切换到 ActivityThread 的过程
这部分比较繁琐切没太大意思,不同的版本走的过程有些差异。
activity01.png
ActivityThread 到调起 onCreate 过程
下面的代码你可以注意到下面几点
- ApplicationThread 实现了 IApplicationThread.Stub
- ActivityThread 是程序的入口,可以看到 main 方法,在 main 中关联 Looper,
- Activity 是通过反射创立的,Instrumentation 这类关系到 Activity 的生命周期,可以通过 hook Instrumentation 实现插件化。
activity02.png
具体的代码就不帖了,自己画一张流程图比简单的贴代码更直观。
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Activity 启动流程
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Activity 启动流程