UI卡顿
一、UI卡顿原理
60fps->16ms
Overdraw(background和子布局设置重叠)
二、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
三、UI卡顿优化
1.布局优化(布局尽量不嵌套,考虑自定义view)
2.列表及Adapter优化(滑动时不进行元素更新)
3.背景和图片等内存分配优化(图片压缩)
4.避免ANR(不要在UI线程中做耗时操作)