一、UI卡顿原理
60fps -> 16ms 渲染 太多耗时操作
overdraw 过度绘制 布局中出现大量重复、嵌套
二、卡顿原因
1、人为在UI线程中做轻微耗时操作,导致UI线程卡顿
2、布局Llayout过于复杂,无法16ms内完成渲染
3、同一时间动画执行的次数过多,导致CPU或GPU负载过重
4、View过度绘制,导致某些像素在同一帧时间内被绘制多次,导致CPU或GPU负载过重
5、View频繁的触发measure、layout,导致measure、layout累计耗时过多
6、内存频繁触发GC过多,导致暂时阻塞渲染操作
7、冗余资源以及逻辑等导致加载和执行缓慢
8、ANR
三、优化
1、布局优化
2、列表以及Adapter优化
3、背景和图片等的内存分配优化
4、避免ANR 不要在主线程中做耗时操作