当前位置: 首页 > news >正文

柳市那些做网站的公司长沙网站外包公司

柳市那些做网站的公司,长沙网站外包公司,java开源商城系统源码,c2c平台分类背景: 上面是正常屏幕1440x2960的屏幕大小,如果对display进行相关的修改,可以使用如下命令: adb shell wm size 1080x1920 得出如下的画面 明显看到差异就是屏幕上下有黑边了,那么下面就来调研这个wm size是怎么做的…

背景:

在这里插入图片描述
上面是正常屏幕1440x2960的屏幕大小,如果对display进行相关的修改,可以使用如下命令:
adb shell wm size 1080x1920

得出如下的画面
在这里插入图片描述
明显看到差异就是屏幕上下有黑边了,那么下面就来调研这个wm size是怎么做的的display大小修改的

相关命令调研方式

adb shell dumpsys activity containers看看display的大小
在这里插入图片描述这里可以看出当前的displaycontent的大小就是固定的1080x1920

adb shell am stack list可以看到activity的configration大小也是1080x1920

RootTask id=1 bounds=[0,0][1080,1920] displayId=0 userId=0configuration={1.0 310mcc260mnc [zh_CN_#Hans,en_US] ldltr sw309dp w309dp h501dp 560dpi nrml port finger qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1836) mMaxBounds=Rect(0, 0 - 1080, 1920) mDisplayRotation=ROTATION_0 mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=home mAlwaysOnTop=undefined mRotation=ROTATION_0} s.125 fontWeightAdjustment=0}taskId=654: com.android.launcher3/com.android.launcher3.uioverrides.QuickstepLauncher bounds=[0,0][1080,1920] userId=0 visible=true topActivity=ComponentInfo{com.android.launcher3/com.android.launcher3.uioverrides.QuickstepLauncher}RootTask id=3 bounds=[0,0][1080,1920] displayId=0 userId=0configuration={1.0 310mcc260mnc [zh_CN_#Hans,en_US] ldltr sw309dp w309dp h501dp 560dpi nrml port finger qwerty/v/v dpad/v winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1836) mMaxBounds=Rect(0, 0 - 1080, 1920) mDisplayRotation=ROTATION_0 mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=undefined mAlwaysOnTop=undefined mRotation=ROTATION_0} s.125 fontWeightAdjustment=0}taskId=4: unknown bounds=[0,0][1080,1920] userId=0 visible=falsetaskId=5: unknown bounds=[0,1920][1080,2880] userId=0 visible=false

分析角度dumpsys SurfaceFlinger:

可以看到Layer的buffer大小确实只是1080x1920的

在这里插入图片描述从上面一系列的dumpsys可以得出结论,一旦wm size成了新的屏幕size后,整个系统的大小确实变化了,连displayContent也是变化的。

那么这里大家肯定有疑问,难道真的一个命令真的就可以随意改变我们手机硬件屏幕的分辨率么?

当然不是哈,其实上面的displaycontent大小只是软件层面东西,真正手机屏幕大小其实一点没有变化。
可以通过如下看出:
在这里插入图片描述
可以看到这里的
在这里插入图片描述
可以看出来这里申请sf申请送到hwc的buffer其实大小依然是1440x2960

那么sf是怎么做到把二者不同的屏幕大小统一的呢?

一样在dumpsys SurfaceFlinger堆栈中查找到了如下输出:
在这里插入图片描述
这里看到了一个transform,缩放参数是1.3333
这里刚好是1440 / 1080 = 1.3333
所以这里其实就是最核心的transform,有了它就可以把自定义的屏幕size和屏幕本身size进行统一,让1440x2960大小屏幕可以显示1080x1920屏幕大小内容。
同时注意这里里面其实有一个参数layerStackSpace这里就是代表了自定义屏幕的大小rect参数
他是如何设置呢?看如下堆栈
堆栈:
在这里插入图片描述

到此基本上就对wm size进行了相关的解密,解释清楚了为啥wm size可以任意改变屏幕大小

本文章更多详细代码和资料需要购买课程获取
hal+perfetto+surfaceflinger
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
在这里插入图片描述

私聊作者+v(androidframework007)

其他课程七件套专题:在这里插入图片描述
点击这里
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw

视频试看:
https://www.bilibili.com/video/BV1wc41117L4/

http://www.ds6.com.cn/news/84204.html

相关文章:

  • 国外音乐网站设计武汉百度信息流广告
  • 什么网站可以做平面设计赚钱seo网页推广
  • 大连seo网站管理跨境电商培训
  • 网上购物网站网络推广方式方法
  • wordpress 漂亮按钮搜索引擎优化seo网站
  • 网站架构需求网站seo服务
  • 湖北去哪做经营性网站备案网站怎么优化seo
  • 北京做彩右影影视公司网站广州公司关键词网络推广
  • 网站建设常用代码职业技能培训网
  • 端午节网站建设网站搜索引擎拓客
  • 网站维护需要学什么如何刷app推广次数
  • 云南网站建设500新闻头条
  • 棋牌论坛网站怎么做南京百度seo代理
  • 网站开发前如何配置电脑公众号推广引流
  • 有专门做辩论的网站吗北京专业网站优化
  • 策划公司网站网络营销事件
  • 百度优化只做移动网站没有pc站网络营销中的seo是指
  • 用废旧盒子做家用物品网站今日热搜榜前十名
  • 学校网站建设需求分析全球最大的中文搜索引擎
  • 网站建设服务合同交印花税今日军事新闻最新消息中国
  • 织梦网站怎么做投票神马关键词快速排名软件
  • ps简单网页设计模板图片栾城seo整站排名
  • 汽车网站建设的目的今天的新闻 联播最新消息
  • 网站推广公司有哪些关联词有哪些四年级
  • asp网站怎么做404页面常用的网络推广方法有
  • 菏泽网站建设公司app推广注册招代理
  • 可以做婚礼视频的网站有哪些怎么找需要推广的商家
  • 用html是做班级简介网站培训学校怎么招生
  • 如何把图片放到网站后台深圳疫情防控最新消息
  • 敬请期待哦跨境电商seo是什么意思