DiskLruCache分析

DiskLruCache的核心原理为,通过LinkedHashMap存储Entry(Entry中包含文件),利用LinkedHashMap按访问和插入排序的特点,在每次对DiskLruCache进行增删查改及调整大小时,调用trimToSize()函数删除使用最少的文件。

private void trimToSize() throws IOException {
    while (size > maxSize) {
      Map.Entry<String, Entry> toEvict = lruEntries.entrySet().iterator().next();
      remove(toEvict.getKey());
    }
  }

具体源码分析请参考:
Android DiskLruCache 源码解析 硬盘缓存的绝佳方案

DiskLruCache下载地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容