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
本文探讨了APP渲染性能问题,包括掉帧现象的原因及其对用户体验的影响。文中列举了几种常见的卡顿原因,并介绍了几种用于检测和修复性能问题的工具。

被折叠的 条评论
为什么被折叠?



