Skip to content
阅读进度

如何理解SurfaceFlinger 与 WMS 的分工? ​

返回 Framework 与系统服务 目录

标准回答 ​

WMS主要管理窗口相关状态,如布局、层级、可见性和与输入焦点相关的协调。SurfaceFlinger管理显示图层和合成过程,结合HWC等把各生产者的内容送到显示设备。

应用窗口的几何与生命周期变化会影响图层状态,但WMS不是逐像素绘制应用UI的模块。SurfaceFlinger也不等同于“把所有图层固定用GPU画一遍”,它会与设备合成能力协商。

跨屏问题需要同时看窗口/任务所属显示、目标图层的变换和裁剪、缓冲是否有效以及提交时序,不能因为看见黑屏就直接归因某一个服务。

追问与回答 ​

移动窗口到另一块屏,只改坐标够吗 ​

通常还涉及display归属、密度和尺寸配置、输入路由、窗口生命周期和显示内容交接。具体取决于系统和应用的多屏实现。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。