AMS 定义
ActivityManagerService(简称 AMS),是 Android 最核心的服务;因此其创建过程伴随在开机的过程中,其由 System_server 的 ServerThread 线程创建,创建完后就进入 home activity 界面,也就是 AMS 启动的第一个 activity
从系统运行的角度看: AMS 可以分为 Client 端和 Service 端
- Client 端运行在各个 app 进程,app 进程实现了具体的 Activity,Service 等,告诉系统我要那些 Activity,Service 等,并且调用系统接口来完成显示
- Service 端运行在 SystemServer 进程,是系统级别的 ActivityManagerService 的具体实现,其响应 Client 端的系统调用请求,并且管理 Client 端各个 app 进程的生命周期
AMS 功能
AMS 主要负责系统中四大组件的启动、切换、及进程的管理和调度等工作;根据其主要的职能,可以从以下几个方面对 AMS 进行学习:
- AMS 的创建及初始化过程
- AMS 对于 Activity 的管理
- AMS 对于 Broadcast 的管理
- AMS 对于 Service 的管理
- AMS 对于 ContentProvider 的管理
- AMS 对于 Process 的管理