Android面试题——掘金-Framework之AMS(2.3)
一 概述
1 | AMS(ActivityManagerService)是 Android Framework 中的核心服务, |
二 面试题解答(仅供参考)
2.1 AMS(ActivityManagerService)是什么?
1 | AMS 是 Android 系统的进程管理核心,负责: |
2.2 AMS 启动流程?
1 | AMS 在 SystemServer 启动时初始化,关键流程: |
2.3 Activity 启动流程?
1 | 当 startActivity(Intent) 被调用时,系统如何启动 Activity? |
2.4 AMS 如何管理 Activity 的 Task 栈?
1 | 1.AMS 通过 ActivityTaskManagerService(ATMS) 维护 Task 栈: |
2.5 AMS 如何管理进程?
1 | 1.AMS 采用 LruProcessList 维护进程优先级: |
2.6 AMS 如何检测 ANR(Application Not Responding)?
1 | AMS 采用 WatchDog 机制 监测应用无响应: |
2.7 AMS 如何管理 Broadcast?
1 | AMS 负责 广播(Broadcast) 的调度: |
2.8 AMS 如何启动应用进程?
1 | AMS 通过 Zygote 进程 fork 子进程 启动应用: |
2.9 AMS 为什么不能直接 fork 进程,而要通过 Zygote?
1 | Android 进程由 Zygote 进程 fork,而非 AMS 直接 fork,原因: |
2.10 AMS 和 WMS(WindowManagerService)的关系?
1 | 1.AMS 和 WMS 协同管理 Activity 和窗口: |
2.11 总结
1 | AMS 是 Android Framework 的核心服务,掌控 Activity 启动、进程管理、Task 栈、ANR 监控、广播调度。 |
三 参考
- 掘金—知识库的大纲