为了确保应用能够顺畅运行,您应该将目标设置为 60fps(16 毫秒/帧)。如果您的应用无法满足所需的帧呈现时间要求,系统将不得不跳过一些帧,用户则会将这种行为视为应用卡顿。这种因缺少屏幕帧而产生的不流畅互动称为卡顿。如需详细了解这种体验,请参阅呈现速度缓慢。
慢帧、冻结的帧和 ANR 之间的关系
缓帧、冻结的帧和 ANR 是应用可能会遇到的各种不同形式的卡顿。如需了解它们的区别,请参阅下表。
慢帧 | 冻结的帧 | ANR | |
---|---|---|---|
呈现时间 | 16 毫秒到 700 毫秒 | 700 毫秒到 5 秒 | 5 秒以上 |
用户受到明显影响的区域 |
|
|
|
单独跟踪慢帧和冻结的帧
当应用启动或转换到其他屏幕时,初始帧的绘制时间通常会超过 16 毫秒,这是因为应用必须扩充视图,对屏幕进行布局并从头开始执行初始绘制。
关于确定卡顿问题的优先级和解决卡顿问题的最佳实践
解决应用中的卡顿问题时,请遵循以下最佳实践:
- 找出最易重现的卡顿实例并加以解决。
- 优先解决 ANR。虽然慢帧或冻结的帧可能会导致应用运行缓慢,但 ANR 会导致应用挂起。
- 呈现速度缓慢的问题难以重现,但您可以从消除 700 毫秒的冻结的帧入手。应用启动或更改屏幕期间最容易出现这种情况。