先把结论放在前面:系统服务都运行在system_server这一个进程里,它们对外暴露的能力通过 Binder 暴露,对内则以单例形式互相直接调用。应用侧看到的是"框架 API",实现却都在这个进程里。看懂这一点,AMS/WMS/PMS 的关系、OOM 为什么会牵连全系统、dumpsys到底在查什么,就都能串起来。
这题问的是"翻车复盘",所以真正要答的是几个典型故障的根因链——而不是服务列表。面试官想听的是"你排查过什么"。
一个进程,三个中枢
| 服务 | 管理的对象 | 关键数据结构 | 典型故障表现 |
|---|---|---|---|
| AMS | 四大组件生命周期、进程优先级、任务栈 | ProcessRecord、ActivityRecord、TaskRecord | ANR、启动失败、进程被杀 |
| WMS | 窗口、Surface、焦点、输入 | WindowState、SurfaceFlinger同步 | 界面不刷新、卡 |