初识AMS,图解流程--源码系列

初识AMS,图解流程--源码系列_第1张图片

前言

ActivityManagerService 是 Android 中非常重要的一个服务,主要功能是管理和启动四大组件;在这里整理一下相关知识和流程。

目录

初识AMS,图解流程--源码系列_第2张图片 目录

Android系统的启动流程

流程

初识AMS,图解流程--源码系列_第3张图片
  • 在启动SystemService前,会启动Binder线程池,这样的话SystemService启动好了后,可以与Zygote孵化器跨进程通信。
  • Launch应用程序:是用来显示系统中已经安装的App图标,是启动根Activity的入口。

init进程启动

作用:初始化和启动属性服务,也是用来启动Zygote进程
启动步骤:

  • 启动电源以及系统启动
  • 引导程序BootLoader启动
  • Linux内核启动
  • init进程启动
  • Zygote 进程启动
  • SystemServer进程启动
  • Launcher 启动

AMS

AMS的注册

初识AMS,图解流程--源码系列_第4张图片 AMS的注册

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

APP程序的启动

初识AMS,图解流程--源码系列_第5张图片 APP程序的启动

Activity启动

初识AMS,图解流程--源码系列_第6张图片 普通的Activity的启动就比根Activity启动少了第一步launcher程序向AMS发送消息;这里只是大概的步骤,其实每个步骤之间还有很多详细的地方没有画出来,中间有很多调用。

Service启动

初识AMS,图解流程--源码系列_第7张图片

小结

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

你可能感兴趣的:(android,安卓)