Activity启动过程
2018-08-08 本文已影响3人
cvmars
-
当我们点击桌面的APP图标时,Launcher进程会采用Binder的方式向AMS发出startActivity请求
-
AMS在接收到请求之后,就会通过Socket向Zygote进程发送创建进程的请求
Zygote进程会fork出新的子进程(APP进程) -
之后APP进程会再向AMS发起一次请求,AMS收到之后经过一系列的准备工作再回传请求。
-
APP进程收到AMS返回的请求后,会利用Handler向主线程发送LAUNCH_ACTIVITY消息
-
主线程在收到消息之后,就创建目标Activity,并回调onCreate()/onStart()/onResume()等方法,UI渲染结束后便可以看到App主界面