glide溯源之Key和缓存文件对应

本文深入探讨Glide的缓存机制,重点在于Key如何映射到磁盘缓存文件名。通过SafeKeyGenerator的getSafeKey方法建立Key与文件名的关联,介绍了ResourceCacheKey、DataCacheKey等Key的实现类,以及MessageDigest在生成唯一标识中的应用。
摘要由CSDN通过智能技术生成

   glide溯源系列文章

       看glide源码的时候,对glide关于磁盘缓存文件名、内存缓存文件和资源请求路径的对应关系很好奇,于是来了看看glide是怎么把这个问题处理好的兴趣。glide中定义了抽象接口Key来做各种唯一标识,所有Key的实现类下面有说明,实现方式类似,而Key和磁盘缓存文件名的关系通过SafeKeyGenerator中的getSafeKey方法来关联,本文分析分为三部分,相关类介绍、MessageDigest用法和源码分析。

 一、相关类介绍

1. SafeKeyGenerator:唯一字符串标识生成类,通过key来生成,此类是建立文件名和key之间的关系
2. interface Key,实现类:
* ResourceCacheKey:资源缓存key
* DataCacheKey:原始资源数据缓存key
* EngineKey:引擎加载key,用于唯一标识一次加载
* GlideUrl:glide中唯一标识url的包装
* ObjectKey:通用类型key
* MediaStoreSignature:媒体存储签名
* EmptySignature:空key,用于判断其他key是否为空
* Options:内存缓存key的设置 的唯一标识
* UniqueKey:空的key

二、MessageDigest的用法(前置知识)

//字符串生成md5值
publ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值