Wish you a happy day~(❁´◡`❁)

RecyclerView三级缓存瀑布流(三)——DiskLruCache的简单使用

[ 进击的程序媛 ] zoey 1694次浏览 6个评论

呼呼,今天把DiskLruCache搞定啦~感觉棒极了,虽然自己的代码跟郭霖编写的代码没法比…2333,不过总归是自己写出来啦,成就感满满,比吃了一顿烤鱼还开心。

呐~参考博文:http://blog.csdn.net/guolin_blog/article/details/28863651   写的很好噜~

要想使用DiskLruCache的五步:

  • 获取缓存地址:缓存在硬盘中就是个文件,必然要先获取存储地址才能进一步操作啦。
  • 获取DiskLruCache实例
  • 获取要缓存的文件名的md5值:为了避免特殊字符的干扰~
  • 调用DiskLruCache.Editor打开一个要编辑的条目(我是这么理解的..),然后部署Editor对象的输出流。
  • 调用editor.commit(),然后关闭所有的一切~

对应代码分别是:

然后我们就来修改上一次的代码吧~

三级缓存顾名思义就是先从内存找,找不到再从硬盘找,还找不到的话就开启线程从网络下载,同时加入到内存缓存中。依据这个思路,我们可以修改doInBackground方法如下:

哈~虽然看起来很简单,但是我还是踩了不少坑呢,比如说搞混BufferedInputStream和InputStream等等。这些代码就是要自己敲才能体会到其中细节呀~。

贴上效果动图~通过Log信息可以看出,三级缓存起作用辣~~network君更加悠闲了~(*^__^*)

11

今天真是元气满满的一天啊~

 


喜欢 (0)or分享 (0)