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

Overdraw

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

如何发现Overdraw

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

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

Android Overdraw_第1张图片

Overdraw常见的原因

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

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

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

Android Overdraw_第4张图片

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

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

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

Android Overdraw_第5张图片

更多相关文章

  1. 一起写一个Android图片轮播控件
  2. Android中高效的显示图片之二——在非UI线程中处理图片
  3. Android远程图片获取和本地缓存
  4. 一步步做Android增强型图片浏览器
  5. 在android中画圆形图片的几种办法

随机推荐

  1. 【视频讲解】Android(安卓)ApiDemos示例
  2. 移动原生应用开发 - AndroidX使用指南
  3. Android WindowManager 全局悬浮窗 + Acc
  4. 微信支付奇葩问题 system:access_denied
  5. Android栗子の图片验证码生成实例代码
  6. Android应用界面开发——第二周笔记
  7. Android 设置EditText不显示光标
  8. App启动(一)Application的创建
  9. Android init进程
  10. Android中的进程有哪些?说出它们的优先级