Android Graphics 显示系统 - 如何模拟多(物理)显示屏?

" 本着花小钱办大事,不花钱也办事的原则,为了避免花钱买设备,那如何更便捷地学习/测试Android多屏显示的内容呢?本文就给大家介绍一种模拟Android多个物理屏幕显示的方法。"

01 ---

Android Emulator旧方式的缺憾

早前的文章中,曾经介绍了使用Android Emulator模拟多屏显示的方法。

Android Emulator - 模拟器多屏输出

这种方法可以满足一定的测试需求,但缺憾是只有主屏是物理屏幕,其他副屏都只是虚拟屏幕。

dumpsys SurfaceFlinger看两个Display的信息:
主屏 isVirtual=false

副屏 isVirtual=true

dumpsys display看两个Display的信息:
主屏 type INTERNAL


副屏 type VIRTUAL

在日益复杂的应用场景下,仅模拟虚拟屏幕出来已无法满足开发测试的需求,那有没有模拟多个物理屏幕的方法呢?接下来就介绍一种Google官方推荐的方法。

02 ---

多(物理)显示屏

先看看模拟出来的多显示屏的效果。整一个三屏幕的,设置三个屏幕的大小

  • display0 :width=720,height=1280
  • display1 :width=1920,height=1080
  • display2 :width=720,height=1280

瞅瞅效果怎么样?

再检查下是不是都是物理屏,而不是虚拟屏呢?
dumpsys SurfaceFlinger看三个Display的信息: 三块屏幕都是****isVirtual=false

dumpsys display看两个Display的信息:

Display 0,主屏是内置屏幕

Display 2,副屏是一块HDMI外置屏幕

Display 3,副屏是一块HDMI外置屏幕

03 ---

多(物理)显示屏模拟方法

Android Graphics 显示系统 - 如何模拟多(物理)显示屏?