开始切入点,就从一个Activity启动另外一个Activity开始吧
好了,开始寻找onPause方法的执行吧,源码之旅开始喽
好了 找到上一个当前Activity的onPause方法,开始后 我们开始找下一个Activity开启的执行方法啦
(上一个找到pause方法后面 有开启开一个Activity的方法)
上图ActivityThread中的handLaunchActivity中 Oncreate方法执行完之后 会执行onReuse方法
总结:
** ActivityManagerService** 组件通信系统核心管理类 (ActivityManagerNative)IPC通信
** ActivityStackSupervisor** 管理整个手机的Activity任务栈
** ActivityStac** 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对象,负责和其它进程进行通信。