一、UI卡顿的原理
60fps-->16ms 每秒60帧 ,60ms一帧;大量的GC 会使UI卡顿。
overdraw 过度绘制,某些像素会绘制多次。
二、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.布局优化 gone替代visible 自定义控件替代复杂布局
2.列表以及adapter优化
3.背景和图片等内存分配优化
4.避免ANR
网友评论