顾名思义,DisplayManager把逻辑屏幕或/虚拟屏幕的内容与物理屏幕, Surface关联起来,在Android源码中搜索"Context.DISPLAY_SERVICE", 可以看到MediaProjection,MediaRouter,ViewRootImpl,VrManagerService,WallpaperService等都在使用DisplayManager。
对DisplayManager进一步分析,发现它通过BINDER机制在使用DisplayManagerService的接口。
资源
frameworks\base\core\java\android\hardware\display\DisplayManager.java
frameworks\base\core\java\android\hardware\display\IDisplayManager.aidl
frameworks\base\services\core\java\com\android\server\display\DisplayManagerService.java
序列图