卡顿原理:
60fps——>16ms 1000ms/60 = 16ms,16s内完成
过度绘制overdraw:非必要背景
耗时操作:布局复杂,动画执行次数过多
分析:
1.ui耗时操作,轻微的耗时操作,导致UI线程卡顿
2.布局layout过于复杂,无法在16ms内完成渲染
3.动画执行的次数过多,导致cpu或GPU负载过重
4view过度绘制
5.view频繁触发measure,layout,导致measure,layout累计耗时过多及整个view频繁渲染
6.内存频繁gc,导致暂时阻塞渲染,就会出现卡顿
7.冗余资源导致加载执行缓慢
8.ANR
总结:
1,布局优化,gone替换invisible,item布局复杂考虑替换成自定义view,减少测量摆放次数
2,列表和adapter优化,复用,滑动时不要加载图片
3,背景和图片内存分配
4,避免anr
网友评论