UI卡顿

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

你可能感兴趣的:(UI卡顿)