前言
Activity Manager Service(AMS)是Android提供的一个用于管理Activity(和其它组件)运行状态的系统进程,也是我们编写APK应用程序时使用得最频繁的一个系统服务。在Android 10开启AMS的启动流程做了修改,需注意,作者这里选用的源码是高通8155配套基线代码LA.1.1,该基线的Android版本是 10,所以AMS的流程是Android 10及以后版本上的。旧版AMS流程,读者有需要可参考其他资料学习。
本文章的详细流程图及电子文档在:文档链接,此可下载。
1 AMS功能概述
虽然开发者经常会使用Activity Manager Service (AMS)提供的一些功能,但是可能鲜有机会对它进行统一的整理与分析。因此我们先对AMS的功能进行整体概述,从而为后面分析其内部实现打下基础。
1.1 AMS启动分析
和WMS(WindowManagerService)一样,Activity Manager Service (AMS)也是寄生于SystemServer中的。它会在系统启动时创建一个线程来循环处理客户的请求。需要注意的是,Activity Manager Service (AMS)会向ServiceManager注册登记多种Binder Server,如“activity”、“meminfo”、“cpuinfo”等等,但是只有第一个“



