外观
AMS ATMS WMS PMS DMS 和 IMS 分别负责什么?
标准回答
AMS 主要管理进程、Service、Broadcast、ContentProvider 等组件运行;Android 10 起,Activity 和任务管理的主要职责拆分到 ATMS,包括启动、任务栈、生命周期和多窗口协调。WMS 管理窗口、尺寸位置、可见性、焦点、Insets 以及与转场相关的窗口状态。PackageManagerService 管理包解析、安装、组件查询和包状态;DMS 管理逻辑显示设备、显示配置和显示生命周期;IMS 通常指 InputManagerService,负责输入设备和输入分发体系。SurfaceFlinger 运行在独立进程,负责图层合成和送显。PMS 也可能指 PowerManagerService,面试时我会先确认语境。
延伸追问
这些服务大多在 system_server 内运行,但服务内部包含不同线程和 Native 组件。InputMethodManagerService 管理输入法,不能和 InputManagerService 混为一谈。
内容来源
- Android Framework 知识手册 · 原条目
1-1