Glide图片缓存策略

Glide图片缓存策略,第1张

Glide四级缓存

先找内存,再找文件

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文件夹,这个就是磁盘缓存的目录


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6333425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存