1. 场景
项目中多个页面有较多图片
2. 思路
1) 延迟加载
2) 内存缓存
3) 外存缓存
4) 缓存删除策略 LruCache
5) 当某个对象不需要时,释放内存
6) 使用库 Fresco
7) 减少或取消内存缓存
例如:详情页面,较大图片
8) 不可见的页面,暂时清除内存缓存,当重新可见时,刷新页面
9) 首先将大图下载到SDCard中,再边读边压缩
3. Fresco使用步骤
功能:类似于UIL的图像处理库,性能强大
优势:使用共享内存 C++
使用步骤
1) 依赖库fresco
2) 在Application中初始化
3) 在布局中使用SimpleDraweeView替换ImageView
注意:必须明确指定宽高,不能用wrap_content
4) 为draweeView设置url,显示图片
4. 服务端返回大量较大图片
问题分析:在内存中下载图片,图片越大占内存越大
解决思路:首先将图片下载到SDCard中,然后边读边压缩