Android Overdraw

更多关于Android渲染性能请点击这里

Overdraw

在一帧内某个像素在屏幕上重新绘制了很多次

如何发现Overdraw

在开发者模式中打开 显示GPU重复绘制
Android设备通过给像素着不同的颜色来在屏幕上显示重复绘制的总量
如果只将一个像素渲染一次,将显示本色。

Nx的重复绘制显示蓝色 标识像素被重复渲染了N次

Overdraw常见的原因

Overdraw根据你视图叠加的方式产生

  • 大量层级堆叠布局
  • 大量不需要的重复背景
  • 执行后台任务导致布局重绘
  • 文本框标题的背景
  • 头像和头像的背景

比如我们堆叠放置卡片,上方的卡片对用户可见,他将大部分底部卡片遮盖住了,这意味着我们需要花费时间来绘制这些卡片,而这些卡片大部分是不可见的。
我们每次渲染那些最后不会显示的像素时,都是在浪费GPU的性能

现代布局很容易不停地堆叠并分层防止图像来获取美观的界面 也会造成 overdraw

只要简单的移除不必要的背景

就能让app从红色变成平和的蓝色

发布了80 篇原创文章 · 获赞 44 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章