外观
如何理解SurfaceFlinger 与 WMS 的分工?
标准回答
WMS主要管理窗口相关状态,如布局、层级、可见性和与输入焦点相关的协调。SurfaceFlinger管理显示图层和合成过程,结合HWC等把各生产者的内容送到显示设备。
应用窗口的几何与生命周期变化会影响图层状态,但WMS不是逐像素绘制应用UI的模块。SurfaceFlinger也不等同于“把所有图层固定用GPU画一遍”,它会与设备合成能力协商。
跨屏问题需要同时看窗口/任务所属显示、目标图层的变换和裁剪、缓冲是否有效以及提交时序,不能因为看见黑屏就直接归因某一个服务。
追问与回答
移动窗口到另一块屏,只改坐标够吗
通常还涉及display归属、密度和尺寸配置、输入路由、窗口生命周期和显示内容交接。具体取决于系统和应用的多屏实现。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q039