1)活动缓存(活动资源):ActiveResource,里边使用一个弱引用weakHashMap来保存正在使用的图片,当我们加载图片的时候,先从activeResource里边去查找,如果找不到的话就从内存缓存里查找。理论上没有大小限制,但是因为是弱引用管理的,所以是可回收的。 存活于内存当中,非持久化
2)内存缓存:默认使用的是LRU的memoryCache,如果没有找到,将从文件缓存中查找。 存活于内存当中,非持久化。
3)文件缓存:先从资源类型文件里查找(经过了圆角缩放处理的),然后从数据来源文件(未经过处理)里查找, 存活于磁盘中,持久化
这种框架的基本思路:源码的三条主线
(1)请求是怎样发送的?
(2)请求是怎样处理的?
(3)请求是怎样维护的?
Glide.with(context) ---->构建一个RequestManager
.load() ------------->输入数据模型,创建一个RequestBuilder,建造者模式
.into()------->调用RequestBuilder的load方法,buildRequest方法,传入target,
这篇文章给大家介绍下android目前使用比较广泛的一个图片缓存库—Glide,这个库是google的一位开发人员在github上的一个开源项目。目前google的一些官方应用都在使用它,所以你现在就开始放心的用吧。github地址
Glide基础用法加缓存
添加Glide
在module的build.gradle中添加以下依赖:
compile 'com.github.bumptech.glide:glide:3.7.0'
/** 250 MB of cache. */
int DEFAULT_DISK_CACHE_SIZE = 250 * 1024 * 1024
Glide.get(this).clearMemory()
Glide.get(MainActivity.this).clearDiskCache()
public class WangGlideModule implements GlideModule {
}
<application>
...
</application>
public class WangGlideModule implements GlideModule {
}
public class WangGlideModule implements GlideModule {
}
public class WangGlideModule implements GlideModule {
}
public class WangGlideModule implements GlideModule {
}
public class WangGlideModule implements GlideModule {
}
public class WangGlideModule implements GlideModule {
}
public class WangGlideModule implements GlideModule {
运行后手机文件夹里面多出来一个GlideDisk文件夹,这个就是磁盘缓存的目录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)