UML如下:
diagram_key.png
Key
唯一標識一些數據的接口。實現必須實現{Object#equals(Object}和{Object#hashCode()}。 通常希望實現將所有在{@link java.lang.Object#equals(Object)}}和{@link Object#hashCode()}}中使用的唯一標識信息添加到給定的{@link java.security.MessageDigest } in {@link #updateDiskCacheKey(java.security.MessageDigest)}},盡管這個要求對于部分緩存密鑰簽名來說并不嚴格。ObjectKey
一個通用的Object包裝對象的Key,通過委托,由其內部的object決定相關key屬性。Options
另外一種實現形式,相關key簽名由一組Option決定,Option定義了一些可選組件,解碼器、編碼器、模型加載器等DataCacheKey
原始源數據的緩存鍵,與任何請求的簽名搭配使用ResourceCacheKey
用于采樣和轉換資源數據的緩存鍵,與任何請求的簽名搭配使用。UniqueKey
未知EmptySignature
一個空的簽名key,并且是單例的形式,所有用到此key的地方均是同一份實例MediaStoreSignature
基于來自媒體數據的獨特簽名,用于檢測常見的更改,比如編輯、旋轉和臨時文件替換EngineKey
用于多路復用負載的內存緩存鍵GlideUrl
未知Transformation
一個用于在一個實現了equals和hashCode方法以標識的內存緩存變換或updateDiskCacheKey方法以標識的磁盤緩存變換的資源上執行各種轉換的類