根Activity的启动流程简要总结

首先,这里盗用刘望舒老师博客上的两张图片,从图中可以看出一个app首次启动时的大致流程是怎样的。
根Activity的启动流程简要总结

    首先Launcher进程向AMS请求创建根Activity,AMS会判断根Activity所需的应用程序进程是否存在并启动,如果不存在就会请求Zygote进程创建应用程序进程。应用程序进程准备就绪后会通知AMS,AMS会请求应用程序进程创建根Activity。关于上图中四个步骤的进程间通信方式,其中步骤2和步骤3相关的进程采用的是Socket通信,步骤1和步骤4相关的进程采用的Binder通信。
    
再上一张时序图:

根Activity的启动流程简要总结