Activity启动流程
Activity启动流程

** ActivityManagerService** 组件通信系统核心管理类 (ActivityManagerNative)IPC通信
** ActivityStackSupervisor** 管理整个手机的Activity任务栈
ActivityStack Activity栈(任务栈)
** PackageManagerService** 主要负责对系统的apk进行管理,不管是系统apk(/system/app),还是我们手工安装上去的,系统所有的apk都是由其管理的。
** ActivityThread** Activity的入口是onCreate方法,Android上一个应用的入口是ActivityThread。和普通的Java类一样有一个main方法。用于控制与管理一个应用进程的主线程的操作,包括管理与处理activity manager发送过来的关于activities、广播以及其他的操作请求
ActivityManagerService和ActivityStack位于同一个进程中,而ApplicationThread和ActivityThread位于另一个进程中。其中,ActivityManagerService是负责管理Activity的生命周期的,ActivityManagerService还借助ActivityStack是来把所有的Activity按照后进先出的顺序放在一个堆栈中;对于每一个应用程序来说,都有一个ActivityThread来表示应用程序的主进程,而每一个ActivityThread都包含有一个ApplicationThread实例,它是一个Binder对象,负责和其它进程进行通信。
参考文档https://blog.csdn.net/qian520ao/article/details/78156214
FrameWork之Activity启动流程 https://blog.csdn.net/zhangqilugrubby/article/details/70054287