外观
Activity Window DecorView ViewRootImpl 和 WMS 是什么关系?
标准回答
Activity 负责页面生命周期,通常通过 PhoneWindow 管理自己的 Window。DecorView 是窗口内 View 树的根,包含应用内容和窗口装饰。ViewRootImpl 是应用侧 View 树与系统窗口之间的桥梁,管理遍历、输入和与 WMS 的通信,它不是一个 View。应用侧 WindowManager 经由 WindowManagerGlobal 创建 ViewRootImpl,后者通过 IWindowSession 等接口向 WMS 注册窗口。WMS 的 WindowState 表示系统侧窗口状态,SurfaceControl 则用于管理对应图层的几何和层级。
延伸追问
setContentView 主要把布局放入 DecorView 的内容容器,并不代表已经完成 addWindow、首轮绘制或送显。
内容来源
- Android Framework 知识手册 · 原条目
2-1