app大致的启动流程。有Launcher进程,system_server进程,zygote进程,APP进程。
Launcher进程:启动activity来启动应用
system_server进程:(ams是其中的一个binder):发送一个socket消息给Zygote。
zygote进程:收到消息后,fork新的进程,---》app进程启动
APP进程:启动后立刻去和ams通信,把app自己的binder给到ams。---》再由ams使用这个app binder触发app的整个生命周期的执行。
App lication的生命周期是什么管理的?
不是handle,looper管理。 activity是由looper管理。
Application是ams直接管理的。
是否存在activity启动的时候 application启动没有完成?为什么?
存在的。
从哪些角度去优化?app系统干了什么?
1)解析Manif 启动模式。---》立刻创建一个黑白屏幕。
面试题:app启动时候的黑白屏属不属于app进程?
黑白屏不属于app进程。属于system_server进程。
例子:市场上的大app。是主题设置,windowSplashscreenContent