在Activity的启动过程中,Activity Thread是一个非常重要的存在,在AMS与APP端Binder通讯也是通过IApplicationThread来实现,而IApplicationThread的客户端就定义在ActivityThread.ApplicationThread;Activity启动过程中通过事务来实现其周期管理,最终也是在ActivityThread.H中进行处理。
从Android AMS——Activity的启动中,在创建一个新的Activity的时候,最终会调用到ActivityStackSupervisor.startSpecificActivityLocked函数。在AMS端其创建流程如下图:
基本流程在AMS.startProcessLocked的几次重载调用后,会调用到Process.start,进入到ZygoteProcess.start
Zygote通过反射调用创建Activity Thread。