DiskCache结构

本文介绍了Glide的DiskCache结构,包括DiskLruCache的实现原理,以及DiskCache的相关接口和类,如DiskCache.Factory、DiskLruCacheWrapper和DiskCacheProvider等。这些组件共同构成了Glide的磁盘缓存系统,其中内部使用LRU算法进行管理。用户可以通过自定义DiskCache.Factory来定制自己的磁盘缓存实现。
摘要由CSDN通过智能技术生成

UML如下:

diagram_disk_cache.png

  • DiskCache
    定义了从磁盘缓存中写入和读取的接口。
  • DiskLruCache
    基于文件系统的一个有限空间的缓存,每一个缓存项都有一个字符串的键和一个固定数量的值,每个键必须匹配正则表达式([a-z0-9_-]{1,120})。值可以是字节序列,随机流或者文件。内部也是基于LRU算法,底层由LinkedHashMap实现。
  • Factory
    DiskCache工厂接口,这里主要是为了延迟创建磁盘缓存。
  • DiskLruCacheFactory
    在指定的磁盘缓存目录中创建基于DiskLruCache的磁盘缓存。
  • InternalCacheDiskCacheFactory
    在内部磁盘缓存目录中创建基于DiskLruCache的磁盘缓存。
  • DiskLruCacheWrapper
    默认的磁盘缓存实现,其内部使用了DiskLruCache,基于LRU算法。
  • SafeKeyGenerator
    从{@link com.bumptech.glide.load.Key}生成并缓存安全且唯一的字符串文件名的类。
  • DiskCacheAdapter
    一个简单的DiskCache实现类,所有实现均为空实现。
  • DiskCacheProvider
    一个接口,提供了一个获取DiskCache实例的方法。
  • LazyD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值