首页 > 其他分享 >Android Graphics 显示系统 - 如何模拟多(物理)显示屏?

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

时间:2024-02-04 11:23:40浏览次数:33  
标签:显示屏 Display Graphics Android 屏幕 模拟 物理

“ 本着花小钱办大事,不花钱也办事的原则,为了避免花钱买设备,那如何更便捷地学习/测试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 显示系统 - 如何模拟多(物理)显示屏?

 

 

 

 

 

标签:显示屏,Display,Graphics,Android,屏幕,模拟,物理
From: https://www.cnblogs.com/roger-yu/p/18005838

相关文章

  • 【APP逆向11】Android基础
    1.发送网络请求基于okhttp3表单格式newThread(){@Overridepublicvoidrun(){OkHttpClientclient=newOkHttpClient();//user=xwl&age=99&size18FormBodyform=newFormBody.Builder().add(&qu......
  • 安卓开发1——安装Android studio
    去网上找Android的studio1的下载教程找到对应的下载链接,下载 因为我有安装完成后就把下载的软件安装的文件删除的习惯所以就不展示了具体的安装教程可以看AndroidStudio安装配置教程-Windows(详细版)-CSDN博客 安装后新建项目完成后在最右侧的第三个可以挑选自己安卓......
  • Golang 开发Android服务--交叉编译
    Golang开发Android服务--交叉编译移动端主要arm架构,编译命令CGO_ENABLED=0GOOS=linuxGOARCH=armgobuild-ogo_promine.goCGO_ENABLED=0GOOS=linux,指定临时环境变量不影响其它编译,也可以设置为全局环境变量。AOSP查看版本信息getprop不传参数查看所有属性值ge......
  • 【设计模式】原型模式——Android SDK源码中的原型模式
    AndroidSDK源码中很多地方都用到了原型模式IntentIntent是Android四大组件之间的桥梁,Intent和原型模式有关的源码如下:publicclassIntentimplementsParcelable,Cloneable{//……代码省略……/***Copyconstructor.*/publicIntent(In......
  • Android系统开发之TextView跑马灯效果导致系统卡的惨案
    问题描述:客户反馈投诉说:低端设备上,在桌面时,当音乐名过长时,音乐名称就会有一个跑马灯动态效果,此时调节设备的音量,设备极其的卡,音量调节界面会晚将近10秒才显示。但是如果音乐名不长可以正常显示时,音乐名称就不会有跑马灯动态效果,此时调节设备的音量,设备正常,音量调节界面也不会慢显示......
  • Android系统中/system/priv-app/和/system/app/以及/system_ext/app/的区别
    在Android系统中,这三个目录都是与应用程序相关的,但它们在系统中的位置和用途上有一些区别。/system/priv-app/目录:该目录包含被认为是系统的一部分的特权应用程序(privilegedapps)。特权应用程序通常是由设备制造商或ROM开发者预先安装的,它们在系统中运行时具有更高的权限。......
  • Android 开机流程介绍
    目录一、目的二、环境三、相关概念3.1Android平台架构3.2Android启动架构3.3zImage3.4RAMDISK3.5RC文件四、详细设计4.1BootRom4.2BootLoader4.3Kernel4.3.1zImage解压缩阶段4.3.2kernel的汇编启动阶段4.3.3Kernel的C启动阶段4.3.3.1kernel启动log4.3.3.2init进程&k......
  • App requires Multidex support Multidex support is required for your android app
    flutterandroid报错64k!]ApprequiresMultidexsupportMultidexsupportisrequiredforyourandroidapptobuildsincethenumberofmethodshasexceeded64k.Seehttps://docs.flutter.dev/deployment/android#enabling-multidex-supportformoreinformation......
  • Android安卓开发:RecyclerView的快速使用
    Android安卓开发:RecyclerView的快速使用前言:1.我借鉴了网络上的代码2.我并没有深入了解,难免出错3.默认已经导入了依赖包,跳过效果(并非此次给出代码的效果):代码:1.准备layout文件(命名格式为adapter_*.xml)2.准备*Adapter.java文件3.默认存在Activity.java或Fragment.java......
  • 资深Android逆袭、华为鸿蒙为安卓程序员开辟了一条新道路
    本文章主要从以下5个方面来展开聊聊这个话题:1.什么是鸿蒙2.鸿蒙系统发展时间线3.鸿蒙是套壳Android吗?4.鸿蒙的生态(用户以及开发者)5.一些建议1月18日,在鸿蒙生态千帆启航仪式上,华为宣布了继鸿蒙4.0之后的鸿蒙操作系统,星河版的预览版本,引起了广泛的讨论,这是一款完全剥离安卓......