Andorid启动一个新Activity流程分析

在一个新进程拉起Activity

Launcher拉起一个没有启动过的APK中的Activity,或者该Activity所在的任务已经被清除就属于这种情况.
启动流程为

  1. Launcher调用startActivity,层层转发后,调用ATMS的startActivity.
  2. ATMS中先pause当前的Activity.](https://www.cnblogs.com/ancoder/p/14637303.html "pause当前Activity")
  3. ATMS发现待启动Activity没有对应的进程,则去拉起一个新的进程
  4. todo:当前Activity的onPause执行完后,调用Paused接口.
  5. todo:新进程启动后attach到系统
  6. todo:系统调用bindApplication,让新进程执行APP的加载流程.
  7. todo:系统调用待启动Activity的oncreate,onstart,onresume.
  8. todo: APP的主线程执行上述生命周期操作
posted @ 2021-04-19 16:43  alpta  阅读(95)  评论(0编辑  收藏  举报