应用 UI 卡顿常见原因主要在以下几个方面: 1. 人为在 UI 线程中做轻微耗时操作,导致 UI 线程卡顿; 2. 布局 Layout 过于复杂,无法在 16ms 内完成渲染; 3. 同一时间动画执行的次数过多,导致 CPU 或 GPU 负载过重; 4.View 过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使 CPU 或 GPU 负载过重; 5.View 频繁的触发 measure、layout,导致 measure、layout 累计耗时过多及整个 View 频繁的重新渲染; 6. 内存频繁触发 GC 过多(同一帧中频繁创建内存),导致暂时阻塞渲染操作; 7. 冗余资源及逻辑等导致加载和执行缓慢; 8. 臭名昭著的 ANR;