图片的三级缓存:运行内存 – 本地缓存 – 网络
流程图
主要的类
1、BitmapUtils.java
BitmapUtils类主要用于异步地
加载图片,且支持图片的压缩处理、图片的内存缓存和本地缓存。
2、BitmapLoadTask.java
BitmapLoadTask类用于实现异步加载
3、BitmapCache.java
BitmapCache类主要用于内存缓存和本地缓存。
class BitmapCache {
<span style="white-space:pre"> </span>
private LruDiskCache mDiskLruCache; // 本地缓存
private LruMemoryCache<MemoryCacheKey, Bitmap> mMemoryCache; // 内存缓存
// 下载网络图片,并进行压缩和缓存。
public Bitmap downloadBitmap()
// 从运存内存中读取Bitmap
public Bitmap getBitmapFromMemCache()
// 从本地缓存中读取Bitmap
public Bitmap getBitmapFromDiskCache()
}
4、BitmapGlobalConfig.java
BitmapGlobalConfig类用于
配置:为二级缓存配置缓存大小、缓存路径、线程池。
5、BitmapDisplayConfig.java
BitmapDisplayConfig类用于配置图片:大小、动画效果、加载时的默认图片和记载失败后显示的图片等。
6、DefaultBitmapLoadCallBack.java
DefaultBitmapLoadCallBack类用于实现
图片加载完成的回调:将获取的Bitmap对象传递给View。