当前位置:首页 > 编程笔记 > 正文
已解决

Android AMS——APP启动流程

来自网友在路上 148848提问 提问时间:2023-09-23 20:33:42阅读次数: 48

最佳答案 问答题库488位专家为你答疑解惑

         Android 应用启动方式主要有两种 , 冷启动和热启动。

  • 冷启动:后台没有应用进程 , 需要先创建进程 , 然后启动 Activity ;
  • 热启动:后台有应用进程 , 不创建进程 , 直接启动 Activity ;

        其实,还有一种问起动的方式,就是用户按了返回键退出应用,随后又从新启动,可是活动的进程是有驻留在后台的。这里为了分析完整的启动流程,我们主要分析冷启动流程。

一、启动流程

        Zygote 进程在 App 层中孵化出的第一个进程是 Launcher 进程,即手机的桌面APP。Zygote还会孵化出 Browser、Email、Phone 等 AP P进程,每个 APP 至少运行在一个进程上。所有 APP 进程都由 Zygote 进程 fork 生成。

1、启动APP进程

        点击 Launcher 桌面程序的 APP 图标,Launcher 程序会调用 startActivity() 函数,通过 Binder 跨进程通信,发送消息给 system_server 进程。在 system_server 进程中,由 AMS 通过 socket 通信告知 Zygote 进程 fork 出一个子进程(APP进程)。

2、开启APP主线程

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Android AMS——APP启动流程":http://eshow365.cn/6-12297-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!