网络上有许多关于UI卡顿优化的解析,但大部分都是简单的原理介绍,例子都比较简单,往往是为了验证UI卡顿而硬造的,不能在实际场景中应用。
本文结合大图加载,与UI卡顿优化,向大家介绍UI卡顿优化的基本原理。
UI卡顿的根本原因是UI线程无法在16ms内完成UI绘制。 下面以android大图加载为例,结合内存分析,systrace,TraceView等分析UI卡顿优化.
两种大图加载方式对比
方法1
Android 高清加载巨图方案 拒绝压缩图片 使用BitmapRegionDecoder分区域加载 源码地址可见:自定义大图加载--LagouBitmap
方法2
Android超长图加载与subsampling scale image view实现分析 使用SubSamplingScaleImageView实现加载 源码实例可见:SubSamplingScaleImageView
内存分析
分别使用两种方式加载图片,滑动后使用Profiler查看内存情况
方法1