Android性能优化之图片优化
https://www.imooc.com/learn/1060
图片OOM问题产生原因
- 一个页面一次加载过多图片
- 加载大图片没有进行压缩
- Android列表加载大量 bitmap没有使用缓存
图片存储优化:
使用webp替代png
https://tinypng.com/
尺寸压缩
inJustDecodeBounds = true //只读取图片,不加载到内存中获取图片的宽高
inSampleSize 大于等于2 降低图片采样率
质量压缩
inPreferredConfig = Bitmap.RGB_565//用RGB_565替代ARGB_8888
内存重用
InBitmap 安装3.0后才能使用
Bitmap的内存管理
在 android3.0之前,对于像素数据的支持保存在本地内存中
从 android3.0开始,像素数据和位图都存储在 Dalvik堆中
图片的加载优化
图片目录
图片放置在xxhdpi下
异步请求
图片放在后台请求
图片缓存
对于列表中的图片进行缓存
网络请求
使用OKHttp进行图片请求
懒加载
当图片到可视区再进行加载
超大图片处理
使用BitampRegionDecoder
图片加载框架
Glide Fresco