性能优化过度绘制

调试GPU来查看过度绘制


过度绘制对性能会产生不必要的开销,如果能减少不必要的绘制,将有助于性能的提升。

以下以在手机上进行 Debug GPU overdraw 举例:


在开发者选项里,打开【调试GPU过度绘制】

这里写图片描述

这里写图片描述

看到整个屏幕有颜色变化就对了+1


如何查看

这里有四层颜色的指示,颜色的层级表示屏幕上有多少像素过度绘制

这里写图片描述

没有颜色改变:沒有过度绘制
1X 蓝色:过度绘制一次
2X 绿色:过度绘制兩次
3X 粉红色:过度绘制三次
4X 大红色:过度绘制四個或更多次

什么是过度绘制,假设你在根视图ViewGroup(match_parent)里设置了一个background属性,为蓝色。接着在里面布置一个子View,这个子View也为ViewGroup,它占屏幕高度一半,background属性为黄色。那么应该看到的视图为一半为蓝色,一半为黄色。在这里,黄色的这一块区域就属于过度绘制一次。

为什么呢?

系统在绘制这个View的时候,首先是绘制了根视图ViewGroup(match_parent)的蓝色,这是全屏的,然后接着在子View区域绘制了黄色。但实际上,用户看不到黄色区域“后面”的蓝色。所以,这一块区域属于过度绘制。


下面举例案例

这是我在公司跟的一个项目,看到这样的页面我也是很惆怅啊!

这里写图片描述

在看看我之前在学校做的,随便做一下广告,下面这个是我单独开发,已上线应用宝:
[查看地址][1]

这里写图片描述

希望我的分享对你有用!

[1]http://android.myapp.com/myapp/detail.htm?apkName=qindachang.xinkejiaowu

已标记关键词 清除标记
相关推荐
<p class="p2" style="margin: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 9.5px; line-height: normal; font-family: Helvetica; color: #494949;">本课程包含了Android中的App启动优化、UI优化、内存优化、图片优化、耗电量等常见的性能优化场景,通过学习此课程,你将对整个Android性能优化体系有清晰的认识。</p> <p class="p2" style="margin: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 9.5px; line-height: normal; font-family: Helvetica; color: #494949;">性能优化作为Android高级开发的必备技能,也是大厂面试必考的题目,是体现一个人技术深度最好的试金石。</p> <p class="p2" style="margin: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 9.5px; line-height: normal; font-family: Helvetica; color: #494949;">1、本课程总计12大章节,27课时,是一门全面的Android性能优化课程。</p> <p class="p2" style="margin: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 9.5px; line-height: normal; font-family: Helvetica; color: #494949;">2、课程逐层递进深入,理论和代码相结合,让你一听就懂。</p> <p class="p2" style="margin: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 9.5px; line-height: normal; font-family: Helvetica; color: #494949;">3、十二个大章节,涵盖App启动优化、UI优化、内存优化、图片优化、耗电量等常见的性能优化场景。</p> <p class="p2" style="margin: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 9.5px; line-height: normal; font-family: Helvetica; color: #494949;">4、课程内容都是来自公司实战经验,绝非书本理论。</p> <p class="p2" style="margin: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 9.5px; line-height: normal; font-family: Helvetica; color: #494949;"><img src="https://img-bss.csdnimg.cn/202008181308479830.png" alt="Android性能优化参考知识体系图" width="1219" height="619" /></p>
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页