android点击桌面App图标activity启动流程

 

1、点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;
2、system_server进程接收到请求后,向zygote进程发送创建进程的请求;
3、Zygote进程fork出新的子进程,即App进程;
4、App进程,通过Binder IPC向sytem_server进程发起attachApplication请求;
5、system_server进程在收到请求后,进行一系列准备工作后,再通过binder IPC向App进程发送scheduleLaunchActivity请求;
6、App进程的binder线程(ApplicationThread)在收到请求后,通过handler向主线程发送LAUNCH_ACTIVITY消息;
7、主线程在收到Message后,通过发射机制创建目标Activity,并回调Activity.onCreate()等方法。

到此,App便正式启动,开始进入Activity生命周期,执行完onCreate/onStart/onResume方法

相关文章:

  • 2021-09-08
  • 2022-12-23
  • 2021-04-08
  • 2021-10-08
  • 2021-12-02
  • 2021-05-07
  • 2021-07-30
猜你喜欢
  • 2022-12-23
  • 2021-09-22
  • 2021-12-20
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
  • 2021-12-09
相关资源
相似解决方案