Android App 启动流程

Application 启动流程主要分为以下几步:

    1. 点击启动一个App,Launcher进程采用 Binder IPC 向 ActivityManagerService 发起start Activity请求;
  • 2.ActivityManagerService 接收到请求后,向 Zygote 进程发送创建进程的请求;Zygote 进程 fork 出新的子进程, 即App进程;
    1. App 进程通过 Binder IPC 向 system_server 进程发起绑定 Application 请求;
    1. system_server 进程在收到请求后,进行一系列准备工作后,再通过 Binder IPC 向 App 进程发送 scheduleLaunchActivity请求;
    1. App 进程的Binder 线程(ApplicationThread)在收到请求后,通过 handler 向主线程发送 Launch_ACTIVITY 消息;
    1. 主线程在收到 Message 后,通过发射机制创建目标 Activity,并回调 Activity.onCreate() 等方法;

到此,App 正式启动,开始进入Activity 生命周期,执行完 onCreate/onStart/onResume 方法,绘制完成UI渲染结束后便可以看到App的主界面了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容