Android面试题——掘金-Framework之WMS(2.5)
一 概述
1 | WMS(WindowManagerService)是 Android Framework 中的核心服务, |
二 面试题解答(仅供参考)
2.1 WMS(WindowManagerService)是什么?
1 | WMS 是 Android 系统的窗口管理服务,运行在 SystemServer 进程 中,主要功能: |
2.2 WMS 是如何启动的?
1 | WMS 在 SystemServer 启动时初始化,关键流程: |
2.3 Activity 启动时,WMS 如何创建窗口?
1 | 1.当 startActivity() 触发后,AMS 需要 WMS 创建窗口: |
2.4 WMS 如何管理窗口层级?
1 | 1.WMS 采用 Z-Order 层级 进行管理: |
2.5 WMS 如何管理焦点窗口?
1 | 1.WMS 通过 InputDispatcher 处理输入焦点: |
2.6 WMS 如何处理屏幕旋转?
1 | 1.当用户旋转设备,系统需要调整窗口方向: |
2.7 WMS 如何控制窗口动画?
1 | 1.窗口动画通过 WindowManager.LayoutParams 设定 |
2.8 WMS 如何支持多窗口(分屏模式)?
1 | WMS 通过 Task 栈 控制分屏: |
2.9 WMS 如何管理输入事件?
1 | 输入事件由 InputManagerService(IMS) 处理: |
2.10 WMS 和 SurfaceFlinger 的关系?
1 | 1.WMS 管理窗口,SurfaceFlinger 合成屏幕: |
2.11 总结
1 | WMS 是 Android 窗口管理的核心服务,面试常考点: |
三 参考
- 掘金—知识库的大纲