DiskCache結(jié)構(gòu)

UML如下:

diagram_disk_cache.png
  • DiskCache
    定義了從磁盤緩存中寫入和讀取的接口赘淮。
  • DiskLruCache
    基于文件系統(tǒng)的一個有限空間的緩存,每一個緩存項(xiàng)都有一個字符串的鍵和一個固定數(shù)量的值耿眉,每個鍵必須匹配正則表達(dá)式([a-z0-9_-]{1,120})。值可以是字節(jié)序列想鹰,隨機(jī)流或者文件该互。內(nèi)部也是基于LRU算法,底層由LinkedHashMap實(shí)現(xiàn)辕宏。
  • Factory
    DiskCache工廠接口畜晰,這里主要是為了延遲創(chuàng)建磁盤緩存。
  • DiskLruCacheFactory
    在指定的磁盤緩存目錄中創(chuàng)建基于DiskLruCache的磁盤緩存瑞筐。
  • InternalCacheDiskCacheFactory
    在內(nèi)部磁盤緩存目錄中創(chuàng)建基于DiskLruCache的磁盤緩存凄鼻。
  • DiskLruCacheWrapper
    默認(rèn)的磁盤緩存實(shí)現(xiàn),其內(nèi)部使用了DiskLruCache聚假,基于LRU算法块蚌。
  • SafeKeyGenerator
    從{@link com.bumptech.glide.load.Key}生成并緩存安全且唯一的字符串文件名的類。
  • DiskCacheAdapter
    一個簡單的DiskCache實(shí)現(xiàn)類膘格,所有實(shí)現(xiàn)均為空實(shí)現(xiàn)峭范。
  • DiskCacheProvider
    一個接口,提供了一個獲取DiskCache實(shí)例的方法瘪贱。
  • LazyDiskCacheProvider
    實(shí)現(xiàn)了DiskCacheProvider纱控,具體實(shí)現(xiàn)了構(gòu)造DiskCache實(shí)例的過程,具體的構(gòu)造是由內(nèi)部的一個DiskCache.Factory成員變量負(fù)責(zé)構(gòu)建菜秦。

在工程中甜害,我們的DiskCache的創(chuàng)建流程是由一個叫DiskCacheProvider的類實(shí)現(xiàn)的,它內(nèi)部需要一個DiskCache.Factory對象球昨,默認(rèn)使用的Factory是InternalCacheDiskCacheFactory尔店,最終對應(yīng)的DiskCache的實(shí)現(xiàn)類就是DiskLruCacheWrapper。當(dāng)然我們可以在GlideBuilder的setDiskCache通過設(shè)置自己的DiskCache.Factory褪尝,從而實(shí)現(xiàn)其build方法闹获,來定義自己的DiskCache實(shí)現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末河哑,一起剝皮案震驚了整個濱河市避诽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌璃谨,老刑警劉巖沙庐,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲤妥,死亡現(xiàn)場離奇詭異,居然都是意外死亡拱雏,警方通過查閱死者的電腦和手機(jī)棉安,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铸抑,“玉大人贡耽,你說我怎么就攤上這事∪笛矗” “怎么了蒲赂?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長刁憋。 經(jīng)常有香客問我滥嘴,道長,這世上最難降的妖魔是什么至耻? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任若皱,我火速辦了婚禮,結(jié)果婚禮上尘颓,老公的妹妹穿的比我還像新娘走触。我一直安慰自己,他們只是感情好疤苹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布饺汹。 她就那樣靜靜地躺著,像睡著了一般痰催。 火紅的嫁衣襯著肌膚如雪兜辞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天夸溶,我揣著相機(jī)與錄音逸吵,去河邊找鬼。 笑死缝裁,一個胖子當(dāng)著我的面吹牛扫皱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捷绑,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼韩脑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了粹污?” 一聲冷哼從身側(cè)響起段多,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎壮吩,沒想到半個月后进苍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體加缘,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年觉啊,在試婚紗的時候發(fā)現(xiàn)自己被綠了拣宏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡杠人,死狀恐怖勋乾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嗡善,我是刑警寧澤市俊,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站滤奈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏撩满。R本人自食惡果不足惜蜒程,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伺帘。 院中可真熱鬧昭躺,春花似錦、人聲如沸伪嫁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽张咳。三九已至帝洪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脚猾,已是汗流浹背葱峡。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留龙助,地道東北人砰奕。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像提鸟,于是被迫代替她去往敵國和親军援。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 10.MemoryCache MemoryCache是實(shí)現(xiàn)內(nèi)存緩存的類称勋,不管是內(nèi)存緩存還是磁盤緩存胸哥,對于Image...
  • 1.OkHttp源碼解析(一):OKHttp初階 2 OkHttp源碼解析(二):OkHttp連接的"前戲"——H...
    隔壁老李頭閱讀 7,034評論 2 28
  • 夜風(fēng)呼嘯,霓虹絢爛赡鲜。 百米高的天臺上烘嘱,木木席地而坐昆禽,向遠(yuǎn)方張望著。臨近午夜的城市活力不減蝇庭,依舊流光溢彩耀武揚(yáng)威醉鳖。車...
    木木和他的花兒閱讀 165評論 0 0
  • 幸福來的太突然!終于見到了冰叔哮内! 盡管很忙很忙盗棵,面臨著即將到來的各種考試,但還是義無反顧的去了北发! 之前膚淺的以為纹因,...
    Levi258閱讀 214評論 0 0
  • 醋溜白菜是屬于魯菜系,也算是一道漢族名菜琳拨,口感酸甜辣香瞭恰,以白菜心為主料,含有豐富的鈣狱庇、鐵惊畏、無機(jī)鹽的維生素C等,醋能...
    韓悠悠悠閱讀 741評論 2 13