初识AMS--《源码系列》

1,408 阅读1分钟

前言

ActivityManagerService 是 Android 中的一个重要的服务,可以调度Activity和Service的生命周期,启动或者杀死app的进程等作用

目录

目录
目录

Android系统的启动流程

流程

  • 在启动SystemService前,会启动Binder线程池,这样的话SystemService启动好了后,可以与Zygote孵化器跨进程通信。
  • Launch应用程序:是用来显示系统中已经安装的App图标,是启动根Activity的入口。

init进程启动

启动内容主要有:

Linux内核,init进程,Zygote进程,SystemServer进程,Launcher等

AMS

AMS的注册

AMS的注册
AMS的注册

这里如果对Binder感兴趣想了解一下可以去看一下另一篇文章: BInder分析--此处可点击

APP程序的启动

APP程序的启动
APP程序的启动

Activity启动

普通的Activity的启动就比根Activity启动少了第一步launcher程序向AMS发送消息;这里只是大概的步骤,其实每个步骤之间还有很多详细的地方没有画出来,中间有很多调用。

Service启动

小结

很多流程是大概的步骤,我不喜欢放源码上来,太多的源码,我反而容易看不下去,流程图比较容易形成一个大概的结构,细节方面,感兴趣的话可以对着流程图去看看源码。