初识AMS,图解流程--源码系列
前言
ActivityManagerService 是 Android 中非常重要的一个服务,主要功能是管理和启动四大组件;在这里整理一下相关知识和流程。
目录
Android系统的启动流程
流程
在启动SystemService前,会启动Binder线程池,这样的话SystemService启动好了后,可以与Zygote孵化器跨进程通信。 Launch应用程序:是用来显示系统中已经安装的App图标,是启动根Activity的入口。
init进程启动
作用:初始化和启动属性服务,也是用来启动Zygote进程
启动步骤:
启动电源以及系统启动 引导程序BootLoader启动 Linux内核启动 init进程启动 Zygote 进程启动 SystemServer进程启动 Launcher 启动
AMS
AMS的注册
★这里如果对Binder感兴趣想了解一下可以去看一下另一篇文章: BInder分析--此处可点击
”
APP程序的启动
Activity启动
普通的Activity的启动就比根Activity启动少了第一步launcher程序向AMS发送消息;这里只是大概的步骤,其实每个步骤之间还有很多详细的地方没有画出来,中间有很多调用。
Service启动
小结
很多流程是大概的步骤,我不喜欢放源码上来,太多的源码,我反而容易看不下去,流程图比较容易形成一个大概的结构,细节方面,感兴趣的话可以对着流程图去看看源码。