Fresco內(nèi)存機制學習

僅為自己學習歸納

Image Pipeline


Fresco官方緩存圖示
大致流程如下:
  1. 尋找內(nèi)存緩存(Bitmap Cache)中是否有圖片边苹,有著返回升熊,無則繼續(xù)尋找媒怯。
  2. 后臺線程開始工作骨宠。
  3. 尋找未解碼緩存中是否有圖片,如有钧汹,解碼,變換录择,返回拔莱。然后將其緩存在內(nèi)存緩存中。
  4. 尋找磁盤緩存中是否有圖片隘竭,如有塘秦,解碼,變換动看,返回尊剔。然后將其緩存到未解碼緩存和內(nèi)存緩存中。
  5. 從網(wǎng)絡和本地加載圖片菱皆,加載后解碼须误,變換,返回仇轻。然后將其緩存到各個緩存中去京痢。

上圖中,disk cache實際包含了未解碼的內(nèi)存緩存在內(nèi)篷店,統(tǒng)一在一起只是為了邏輯稍微清楚一些祭椰。

關于disk cache的官方解釋:

Yes, we know phones don’t have disks, but it’s too tedious to keep saying local storage cache

理解緩存圖示
Image Pipeline默認有3個線程池:
  1. 3個線程用于網(wǎng)絡下載。
  2. 2個線程用于磁盤操作:本地文件的讀取疲陕,磁盤緩存的操作方淤。
  3. 2個線程用于CPU相關的操作:解碼,變換蹄殃,以及后出來等后臺操作携茂。

三級緩存


1.Bitmap緩存

Bitmap緩存儲存Bitmap對象,這些Bitmap對象可以立刻用來顯示或者用于后處理

在5.0以下系統(tǒng)窃爷,BItmap緩存位于ashmem邑蒋,這樣Bitmap對象的創(chuàng)建和釋放將不會一發(fā)GC(Gabage Collection),更少的GC會使APP更加流暢姓蜂。

5.0及其以上系統(tǒng),內(nèi)存管理有了很大的改進医吊,所以Bitmap緩存直接位于Jav啊的heap(堆內(nèi)存)上

當應用在后臺運行時钱慢,該內(nèi)存會被清空。

ashmem:匿名共享內(nèi)存

未解碼圖片的內(nèi)存緩存

這個緩存存儲的時原始壓縮格式的圖片卿堂。從該緩存取到的圖片在使用之前束莫,需要先進行解碼。

如果有調(diào)整大小草描,旋轉览绿,或者WebP編碼工作需要完成,這些工作會在解碼之前進行穗慕。

磁盤緩存

和未解碼的內(nèi)存緩存相似谓谦,磁盤緩存儲存的時未解碼的原始壓縮格式的圖片啊犬,在使用之前同樣需要解碼等處理。

和其他的不一樣,磁盤緩存在后臺時幅垮,不會被清空拱层,即使設備關閉虹菲,不過用戶可以隨時進入系統(tǒng)菜單進行清空緩存操作憋肖。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胰苏,隨后出現(xiàn)的幾起案子硕蛹,更是在濱河造成了極大的恐慌,老刑警劉巖硕并,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件法焰,死亡現(xiàn)場離奇詭異,居然都是意外死亡鲤孵,警方通過查閱死者的電腦和手機壶栋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來普监,“玉大人贵试,你說我怎么就攤上這事】” “怎么了毙玻?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長廊散。 經(jīng)常有香客問我桑滩,道長,這世上最難降的妖魔是什么允睹? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任运准,我火速辦了婚禮幌氮,結果婚禮上,老公的妹妹穿的比我還像新娘胁澳。我一直安慰自己该互,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布韭畸。 她就那樣靜靜地躺著宇智,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胰丁。 梳的紋絲不亂的頭發(fā)上随橘,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音锦庸,去河邊找鬼机蔗。 笑死,一個胖子當著我的面吹牛甘萧,可吹牛的內(nèi)容都是我干的蜒车。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼幔嗦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沥潭?” 一聲冷哼從身側響起邀泉,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钝鸽,沒想到半個月后汇恤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡拔恰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年因谎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颜懊。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡财岔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出河爹,到底是詐尸還是另有隱情匠璧,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布咸这,位于F島的核電站夷恍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏媳维。R本人自食惡果不足惜酿雪,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一遏暴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧指黎,春花似錦朋凉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至茬故,卻和暖如春盖灸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背磺芭。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工赁炎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钾腺。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓徙垫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親放棒。 傳聞我的和親對象是個殘疾皇子姻报,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

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