- Activity startActivity 调用 startActivityForResult, 再调用Instrument execStartActivity, 再通过binder 对象 ActivityManagerProxy 调用ActivityManagerService, 在AMS中有ActivityStack 管理Activity 栈,通过权限检查后,通过ApplicationThread binder 通知activity1 onpause.
- AMS 中判断进程是否开启,通过Zygote fork 新的进程。
- AMS 通过 ApplicationThread 通知 新进程启动Application ,并bind 到新时程上。
- AMS 再 通过 binder 通知 ApplicationThreadProxy , 调用H 对象发送消息给 ActivityThread, activity2 launch.
binder 线程池 是在进程创建时一同创建的,有数量限制。