IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 性能优化-过度绘制的实际解决措施 -> 正文阅读

[移动开发]Android 性能优化-过度绘制的实际解决措施

什么是过度绘制(Overdraw)?

屏幕上的某个像素在同一帧的时间内被绘制了多次。在多层次的UI结构里面, 被盖住的底层UI也在做绘制的操作,这就导致某些像素区域被绘制了多次。

上面我简单画了一个图,一般来说 重叠四层及四层以上的绘制层级就算过度绘制。

一般避免过度绘制的标准是:允许有部分四层重叠,不允许存在 >=五层 的重叠。

如何找到过度绘制的地方?

1.用手机系统提供的过度绘制检测工具:

设置 => 开发者选项 => 调试GPU过度渲染 =>?显示过度渲染区域。

这时候,手机会根据绘制层数,给所有的view持续渲染背景色。

四种颜色代表了四种不同的绘制程度:
蓝色: GPU过度绘制了 1倍。像素绘制了两次。
绿色: GPU过度绘制了 2倍。像素绘制了三次,中范围可以接受。
淡红: GPU过度绘制了 3倍。像素绘制了四次,小范围可以接受。
深红: GPU过度绘制了 4倍及更多。像素绘制了五次或者更多,不接受,请整改。

2.用高版本AndroidStudio自带的小工具进行查看

?当你点击层次较深的View 左边就会显示出一个彩色的小条。

如果你点击层次较浅的view,那么左边将不会出现这个小条。

如何解决过度绘制?

1.LinearLayout或者RelativeLayout改为ConstraintLayout

ConstraintLayout更加有效,不太会用的看这里:Android ConstraintLayout约束布局 常用属性和辅助控件_赵星海的博客-CSDN博客

2.移除Window默认的Background

getWidow.setBackgroundDrawable(null);

???????3.移除XML布局文件中非必需的Background

 

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:58:28  更:2021-09-10 10:58:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:49:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码