架构师学习--手写Glide之磁盘缓存

前面学习了活动缓存和内存缓存,本章将继续学习磁盘缓存,在内存缓存中我们使用了最少使用算法,并且android也提供了LruCache这个类供我们使用,同样的磁盘缓存也是使用了这个算法,但是遗憾的是android没有提供磁盘缓存的类。所以,我们不得不从github上下载大神的DiskLruCache文件了。下载地址,解压得到三个文件,添加到我们的项目中即可。

磁盘缓存类

1、初始磁盘缓存类DiskLruCache

在构造方法中做如下处理
在这里插入图片描述
使用open方法能够实例化DiskLruCache对象,第一个参数为磁盘缓存保存的文件路径,第二个参数为当前app的版本号,注意,只要这个版本号发生变动,之前的缓存将不能使用,第三个参数一般设置为1,第四个参数为磁盘缓存的大小,用户可以自定义。

2、put

存图片到磁盘缓存中
在这里插入图片描述
首先将图片bitmap以流的形式保存到outputStream中,这样我们就可以通过editor将流写入到本地磁盘中。最后不要忘记调用红色框框的两个方法。

3、get

从磁盘缓存中读取图片,并返回
在这里插入图片描述
通过snapshot获取图片的流,然后把流解析成bitmap,最后返回Value对象。
ok,完成以上配置,就完成了磁盘缓存的设计。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值