Android Overdraw
16lz
2021-01-23
更多关于Android渲染性能请点击这里
Overdraw
在一帧内某个像素在屏幕上重新绘制了很多次
如何发现Overdraw
在开发者模式中打开 显示GPU重复绘制
Android设备通过给像素着不同的颜色来在屏幕上显示重复绘制的总量
如果只将一个像素渲染一次,将显示本色。
Nx的重复绘制显示蓝色 标识像素被重复渲染了N次
Overdraw常见的原因
Overdraw根据你视图叠加的方式产生
- 大量层级堆叠布局
- 大量不需要的重复背景
- 执行后台任务导致布局重绘
- 文本框标题的背景
- 头像和头像的背景
比如我们堆叠放置卡片,上方的卡片对用户可见,他将大部分底部卡片遮盖住了,这意味着我们需要花费时间来绘制这些卡片,而这些卡片大部分是不可见的。
我们每次渲染那些最后不会显示的像素时,都是在浪费GPU的性能
现代布局很容易不停地堆叠并分层防止图像来获取美观的界面 也会造成 overdraw
只要简单的移除不必要的背景
就能让app从红色变成平和的蓝色
更多相关文章
- 一起写一个Android图片轮播控件
- Android中高效的显示图片之二——在非UI线程中处理图片
- Android远程图片获取和本地缓存
- 一步步做Android增强型图片浏览器
- 在android中画圆形图片的几种办法