您的位置:首页 > 移动开发 > Android开发

android DiskLruCache使用方法

2016-12-11 21:42 375 查看
  DiskLruCache能够实现磁盘缓存,这里只写一下它的用法。

DiskLruCache的创建:

DiskLruCache.open(File directory, int appVersion, int
valueCount, long maxSize)


  方法能够创建一个DiskLruCachez对象,该方法有四个参数,第一个表示缓存的文件路径。第二个参数表示应用的版本号,当应用的版本号发生改变的时候,会清空内存中的所有的缓存。第三个参数表示单个节点对应的数据个数,一般设置为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()方法,前者表示提交写入操作,后者表示取消回退操作。

DiskLruCache获取缓存:

  获取缓存需要借助DiskLruCache.Snapshot,调用DiskLruCache的get(String key)方法会得到一个Snapshot对象,该对象可以获得文件输入流。

DiskLruCache.Snapshot snapshot = mDiskLruCache.get(key);
FileInputStream fileInputStream = (FileInputStream)
snapshot.getInputStream(DISK_CACHE_INDEX);


  上述过程也是DiskLruCache最常使用的3个过程了,记录一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: