android DiskLruCache使用方法

  DiskLruCache能够实现磁盘缓存,这里只写一下它的用法。


  1. DiskLruCache的创建:
DiskLruCache.open(File directory, int appVersion, int              
       valueCount, long maxSize)

  方法能够创建一个DiskLruCachez对象,该方法有四个参数,第一个表示缓存的文件路径。第二个参数表示应用的版本号,当应用的版本号发生改变的时候,会清空内存中的所有的缓存。第三个参数表示单个节点对应的数据个数,一般设置为1。第四个参数表示缓存的大小。


  1. DiskLruCache添加缓存:
      缓存添加需要借助DiskLruCache.Editor,DiskLruCache调用edit(String key)方法可以获得Editor对象,该方法加了同步锁,如果之前已经获得了该Editor,将返回null表示当前缓存正在被编辑。通过Editor我们可以获得文件输出流。
DiskLruCache.Editor editor = mDiskLruCache.edit(key);
OutputStream out = editor.newOutputStream(0);

  由于我们设置的第三个参数为1,所以这里newOutputStream参数为0即可,可以查看下代码。最后要调用Editor的commit()方法或abort()方法,前者表示提交写入操作,后者表示取消回退操作。


  1. DiskLruCache获取缓存:
      获取缓存需要借助DiskLruCache.Snapshot,调用DiskLruCache的get(String key)方法会得到一个Snapshot对象,该对象可以获得文件输入流。
DiskLruCache.Snapshot snapshot = mDiskLruCache.get(key);
FileInputStream fileInputStream = (FileInputStream)
            snapshot.getInputStream(DISK_CACHE_INDEX);

  上述过程也是DiskLruCache最常使用的3个过程了,记录一下。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值