一、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