美文网首页
DiskLruCache了解

DiskLruCache了解

作者: Youremywoman | 来源:发表于2019-04-30 11:20 被阅读0次

DiskLruCache


阅读源码后还需要一篇好的参考文章喽

自己的理解:

DiskLruCache是一个最近最少使用磁盘上的存取方案,Lru还是基于LinkedHashMap实现

而存取暴露出来的都是流(存的时候拿到一个输出到文件的流,取得时候拿到一个从文件输入的流)

journal的理解,文件格式如下图。

image-20181122221430960.png

前面4行的参数用来判断是否需要重建一个journal。下面的内容用空格隔开分别代表操作类型,对应的key,最后面是文件的大小。类型有CLEAN:正常状态,DIRTY:用于删除dirty file. ,REMOVE: 删除状态,READ: 被读取状态.
readJournalLine方法会根据状态对lruEntries分别进行添加删除等操作,processJournal用于处理dirtyFile。通过以上处理 磁盘中的文件个数和大小的信息都被保存到了lruEntries中

journal文件过大处理会变慢?journalRebuildRequired方法用来判断。如果空闲条目大于2000且打印lruEntries的大小会去rebuildJournal.

lruEntries中的Entry:entry中有两个字段一个key一个long[] lengths。文件路径由key和数组下标表示

文件大小由数组中的值表示.

相关文章

网友评论

      本文标题:DiskLruCache了解

      本文链接:https://www.haomeiwen.com/subject/pfmmnqtx.html