Fresco,Glide掐松,Picasso對比分析

前言:本文就Fresco踱侣、Glide和Picasso三種較主流的圖片加載庫作比較說明粪小。

首先,比較 Picasso 與 Glide

總的來說二者極為相似抡句,有著近乎相同的 API 風(fēng)格探膊,但 Glide 在緩存策略和加載 gif 方面略勝一籌。這里是關(guān)于Picasso 與 Glide的詳細(xì)分析待榔。

1.兩者使用方式類似逞壁,但Glide的with()接受的不僅僅是Context,還可以是Activity或是Fragment锐锣,Context會自動的從他們獲取猾担。同時將Activity/Fragment作為with()參數(shù)的好處是:圖片加載會和Activity/Fragment的生命周期保持一致,比如Paused狀態(tài)在暫停加載刺下,在Resumed的時候又自動重新加載绑嘹。所以我建議傳參的時候傳遞Activity 和 Fragment給Glide,而不是Context橘茉。

2.Glide加載的圖片質(zhì)量要略差于Picasso工腋,這又是為什么呢?這是因為Glide默認(rèn)的Bitmap格式是RGB_565畅卓,比ARGB_8888格式的內(nèi)存開銷要小一半擅腰。Glide當(dāng)然也可以通過GlideModule設(shè)置格式。



3.兩者在磁盤緩存策略上有很大的不同翁潘。Picasso緩存的是全尺寸的趁冈,而Glide緩存的是跟ImageView尺寸相同的。Glide的這種方式優(yōu)點是加載顯示非嘲萋恚快渗勘。而Picasso的方式則因為需要在顯示之前重新調(diào)整大小而導(dǎo)致一些延遲。


4.Glide可以加載GIF動態(tài)圖俩莽,而Picasso不能旺坠。

5.Picasso (v2.5.1)大小約為118KB,然而Glide (v3.5.2)的大小約為430KB扮超。Picasso的方法數(shù)大約480取刃,然而Glide的方法數(shù)約2678。

其次出刷,就是Fresco

Fresco 中設(shè)計有一個叫做Image Pipeline的模塊璧疗。它負(fù)責(zé)從網(wǎng)絡(luò),從本地文件系統(tǒng)馁龟,本地資源加載圖片崩侠。為了最大限度節(jié)省空間和CPU時間,它含有3級緩存設(shè)計(2級內(nèi)存屁柏,1級磁盤)啦膜。

Fresco中設(shè)計有一個叫做Drawees模塊有送,它會在圖片加載完成前顯示占位圖,加載成功后自動替換為目標(biāo)圖片僧家。當(dāng)圖片不再顯示在屏幕上時雀摘,它會及時地釋放內(nèi)存和空間占用。

Fresco 特性: 這里是秋百萬(廖祜秋)譯作

·內(nèi)存管理

解壓后的圖片八拱,即Android中的Bitmap阵赠,占用大量的內(nèi)存。大的內(nèi)存占用勢必引發(fā)更加頻繁的GC肌稻。在5.0以下清蚀,GC將會顯著地引發(fā)界面卡頓。

在5.0以下系統(tǒng)爹谭,F(xiàn)resco將圖片放到一個特別的內(nèi)存區(qū)域枷邪。當(dāng)然,在圖片不顯示的時候诺凡,占用的內(nèi)存會自動被釋放东揣。這會使得APP更加流暢,減少因圖片內(nèi)存占用而引發(fā)的OOM腹泌。

Fresco 在低端機(jī)器上表現(xiàn)一樣出色嘶卧,你再也不用因圖片內(nèi)存占用而思前想后。

·圖片繪制

Fresco 的 Drawees 設(shè)計凉袱,帶來一些有用的特性:

1.自定義居中焦點

2.圓角圖芥吟,當(dāng)然圓圈也行

3.下載失敗之后,點擊重現(xiàn)下載

4.自定義占位圖专甩,自定義overlay, 或者進(jìn)度條

5.指定用戶按壓時的overlay

·圖片加載

Fresco的Image Pipeline允許你用很多種方式來自定義圖片加載過程钟鸵,比如:

1.為同一個圖片指定不同的遠(yuǎn)程路徑,或者使用已經(jīng)存在本地緩存中的圖片

2.先顯示一個低清晰度的圖片配深,等高清圖下載完之后再顯示高清圖

3.加載完成回調(diào)通知

4.對于本地圖携添,如有EXIF縮略圖,在大圖加載完成之前篓叶,可先顯示縮略圖

5.縮放或者旋轉(zhuǎn)圖片

6.對已下載的圖片再次處理

7.支持WebP解碼,即使在早先對WebP支持不完善的Android系統(tǒng)上也能正常使用羞秤!

·動圖加載

加載Gif圖和WebP動圖在任何一個Android開發(fā)者眼里看來都是一件非常頭疼的事情缸托。每一幀都是一張很大的Bitmap,每一個動畫都有很多幀瘾蛋。Fresco讓你沒有這些煩惱俐镐,它處理好每一幀并管理好你的內(nèi)存。

·圖片的漸進(jìn)式呈現(xiàn)

漸進(jìn)式的JPEG圖片格式已經(jīng)流行數(shù)年了哺哼,漸進(jìn)式圖片格式先呈現(xiàn)大致的圖片輪廓佩抹,然后隨著圖片下載的繼續(xù)叼风,呈現(xiàn)逐漸清晰的圖片,這對于移動設(shè)備棍苹,尤其是慢網(wǎng)絡(luò)有極大的利好无宿,可帶來更好的用戶體驗。

說了那么多總之Fresco就是吊枢里!

最后孽鸡,進(jìn)行總結(jié)一下

Picasso 所能實現(xiàn)的功能 Glide 都能做到,只是所需設(shè)置不同栏豺。兩者的區(qū)別是 Picasso 比 Glide 體積小很多且圖像質(zhì)量比 Glide 高彬碱,但Glide 的速度比 Picasso 更快,Glide 的長處是處理大型的圖片流奥洼,如 gif巷疼、video,如果要制作視頻類應(yīng)用灵奖,Glide 當(dāng)為首選嚼沿。

Fresco 可以說是綜合了之前圖片加載庫的優(yōu)點,其在5.0以下的內(nèi)存優(yōu)化非常好桑寨,但它的不足是體積太大伏尼,按體積進(jìn)行比較:Fresco>Glide>Picasso,所以 Fresco 在圖片較多的應(yīng)用中更能凸顯其價值尉尾,如果應(yīng)用沒有太多圖片需求爆阶,還是不推薦使用 Fresco。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沙咏,一起剝皮案震驚了整個濱河市辨图,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肢藐,老刑警劉巖故河,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吆豹,居然都是意外死亡鱼的,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門痘煤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凑阶,“玉大人,你說我怎么就攤上這事衷快≈娉鳎” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長师郑。 經(jīng)常有香客問我环葵,道長,這世上最難降的妖魔是什么宝冕? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任张遭,我火速辦了婚禮,結(jié)果婚禮上猬仁,老公的妹妹穿的比我還像新娘帝璧。我一直安慰自己,他們只是感情好湿刽,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布的烁。 她就那樣靜靜地躺著,像睡著了一般诈闺。 火紅的嫁衣襯著肌膚如雪渴庆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天雅镊,我揣著相機(jī)與錄音襟雷,去河邊找鬼。 笑死仁烹,一個胖子當(dāng)著我的面吹牛耸弄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卓缰,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼计呈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了征唬?” 一聲冷哼從身側(cè)響起捌显,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎总寒,沒想到半個月后扶歪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摄闸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年善镰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片年枕。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡媳禁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出画切,到底是詐尸還是另有隱情,我是刑警寧澤囱怕,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布霍弹,位于F島的核電站毫别,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏典格。R本人自食惡果不足惜岛宦,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望耍缴。 院中可真熱鬧砾肺,春花似錦、人聲如沸防嗡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚁趁。三九已至裙盾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間他嫡,已是汗流浹背番官。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留钢属,地道東北人徘熔。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像淆党,于是被迫代替她去往敵國和親酷师。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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