DisplayMetrics系统是如何设置进去的
时间: 2024-03-28 15:36:51 浏览: 125
在Android系统中,DisplayMetrics是由WindowManagerService和SurfaceFlinger服务来设置的。下面简要介绍一下它们的工作流程:
1. WindowManagerService:在系统启动时创建并初始化DisplayMetrics对象,并将其保存在自己的内部状态中。WindowManagerService会根据当前设备的屏幕参数(例如分辨率、物理尺寸等)计算出DisplayMetrics对象的各个参数值,并将其保存在内部状态中。
2. SurfaceFlinger:SurfaceFlinger是一个系统级别的服务,负责管理所有的Surface对象,并将它们合成成最终的图像输出。在SurfaceFlinger中,DisplayMetrics对象主要用于计算和调整Surface大小和位置。例如,当应用程序创建一个新的Surface对象时,SurfaceFlinger会根据当前设备的屏幕参数来调整Surface的大小和位置。此时,SurfaceFlinger会使用WindowManagerService保存的DisplayMetrics对象来进行计算。
总的来说,DisplayMetrics系统是由WindowManagerService和SurfaceFlinger服务来设置的。WindowManagerService在系统启动时创建并初始化DisplayMetrics对象,并将其保存在自己的内部状态中;而SurfaceFlinger则使用WindowManagerService保存的DisplayMetrics对象来进行计算和调整Surface大小和位置。
阅读全文