目录
前言
本文主要依据 Android S 源码梳理 Activity 的启动流程,详细源码可以参考
http://aospxref.com/android-12.0.0_r3/
参考博客:
android线程管理五(ActivityThread与ApplicationThread)
Android Launcher 启动 APP 流程的源码分析
主要类关系
启动流程源码比较复杂,为了更好的理解主要流程,可以先看一下整体的类关系。
启动流程
只关注里面的核心流程,至于一些细节,可以后面慢慢完善补充。
Activity.java
首先调用 startActivity
方法的重载 startActivity
startActivityForResult, 这里 requestCode 参数用于 onActivityResult 的回调使用,开发者可以指定这个参数,当这个参数为负数时候,没有实际作用。
继续重载 startActivityForResult 方法,此时将会走到 Instrumentation 这个类,调用 execStartActivity 这个方法。
总结
还有很多需要整理的地方,继续完善!