8.1 WMS的职责
窗口管理
窗口动画
输入系统的中转站
Surface管理
8.2 WMS的创建过程
8.3 WMS的重要成员
8.4 Window的添加过程(WMS处理部分)
addWindow方法分了3个部分来进行讲解,主要就是做了下面4件事:
- 对所要添加的窗口进行检查,如果窗口不满足一些条件,就不会再执行下面的代码逻辑。
- WindowToken相关的处理,比如有的窗口类型需要提供WindowToken,没有提供的话就不会执行下面的代码逻辑,有的窗口类型则需要由WMS隐式创建WindowToken。
- WindowState的创建和相关处理,将WindowToken和WindowState相关联。
- 创建和配置DisplayContent,完成窗口添加到系统前的准备工作。
8.5 Window的删除过程
Window的删除过程:
- 检查删除线程的正确性,如果不正确就抛出异常。
- 从ViewRootImpl列表、布局参数列表和View列表中删除与V对应的元素。
- 判断是否可以直接执行删除操作,如果不能就推迟删除操作。
- 执行删除操作,清理和释放与V相关的一切资源。