常见的手机卡顿现象:
- 视频加载慢;
- 画面卡顿、卡死、黑屏;
- 声音卡顿、音画不同步;
- 动画帧卡顿,交互响应慢;
- 滑动不跟手;
- 列表自动更、滚动不流畅;
- 网络响应慢、数据和画面展示慢;
- 过度动画生硬;
- 界面不可交互、卡死;
这些体验对于用户来说是非常糟糕的,可以说流畅行体验对于用户来说至关重要。
市面上绝大多数的 Android 设备的屏幕刷新率是 60Hz,也就是大概 16ms 刷新一次屏幕,假如花了 24ms 来绘制这一帧,就会出现掉帧的现象,在用户看来就是界面不流畅,卡顿。另外,如果系统准备绘制新的一帧到屏幕上,但是这一帧并没有准备好,就不会有绘制操作,画面也不会刷新。Android 渲染机制
一般而言,GPU 的帧速率应该高于屏幕的刷新频率,才不会卡顿和掉帧。
卡顿的本质原因是错过了展示的时间
- 常规影响:层级以及过度绘制导致;
- 内存影响:STW 现象导致,自定义 View 的绘制,new 对象
- 线程影响:阻塞当前住线程的代码都会造成卡顿