作者:安卓兼职framework应用工程师

Android 11.0 framework系统修改安兔兔等显示的屏幕尺寸大小功能实现

1.前言

 在11.0的系统rom定制化开发中,在使用第三方app检测系统的一些信息中,比如安兔兔 设备信息等检测app中,有时候显示的屏幕尺寸大小和
产品规格书等信息不同,稍微有些差异,所以就需要看下系统framework层中,相关的设备信息是怎么读出来的,然后做些调整
接下来就来分析相关功能

2.framework系统修改安兔兔等显示的屏幕尺寸大小的功能实现的核心类

frameworks/base/core/java/android/view/DisplayInfo.java

3.framework系统修改安兔兔等显示的屏幕尺寸大小的功能实现的核心功能分析和实现

android获取当前设备屏幕信息(分辨率,密度以及物理尺寸)
要想知道屏幕的基本信息,就要先获取一个基本的类(DisplayMetics),这个对象存放着当前的窗口的一些通用信息,
如显示大小,分辨率和字体等等。
而在系统framework中的DisplayInfo.java中,内置这些屏幕的相关属性信息,比如
" app 1280 x 672":是指当下可用的屏幕分辨率;
“real 1280 x 720”:是指真实的屏幕分辨率;
“largest app 1280 x 1207”:是指当前能支持的最大分辨率;
“smallest app 720 x 647”:是指当前能支持的最小分辨率;
“50.0 fps”:帧频,即屏幕每秒刷新次数;
“rotation 0”:转屏,0代表没有旋转&

lock