Android Performance Patterns S01E01 - Rendering performance

S01E01 Rendering performance 101 渲染性能问题

渲染性能问题是app开发的最常见问题。

系统每隔大约16ms(1/60秒)尝试绘制Activity,如果无法每隔16ms成功绘制出新的图,则会出现掉帧的现象。也就是说,APP每16ms要运行结束所有刷新屏幕的逻辑,屏幕才能达到每秒60帧。

如下图:

 

用户很容易察觉掉帧引起的卡顿问题,如拖动列表卡顿、输入法输入卡顿。引起卡顿的原因可能有多种,如:

  • View结构的较大部分的重新绘制花费过多时间(CPU周期,CPU cycles)。
  • 太多的组件互相覆盖,在用户不可见的范围浪费了过多时间。
  • 过多的动画,导致CPU和GPU组件的过度使用。

检查和修复这些性能问题,与APP如何构建的有关。不过有些通用的辅助工具以定位这些性能问题:

Hierarchy Viewer:可检测Activity是否过于复杂等。

On-Device Tools:Profile GPU Rendering, Show GPU Overdraw, GPU View Update等。

Traceview:隐藏在CPU代码中的bug

posted @ 2015-08-18 23:14  codeRhythm  阅读(236)  评论(0编辑  收藏  举报