Glide與Picasso的區(qū)別

Glide使用生命周期對圖片進(jìn)行管理,根據(jù)Glide的使用方法我們可以看出祠挫,傳入的context建議傳入Activity或Fragment滤祖,因?yàn)閭魅脒@兩者可以根據(jù)Activity或Fragment的生命周期對圖片進(jìn)行管理涛菠,比如在Paused狀態(tài)暫停加載塑荒,在Resumed的時(shí)候又自動重新加載倚舀。所以我建議傳參的時(shí)候傳遞Activity 和 Fragment給Glide枪向,而不是Context。

Glide.with(context)
    .load("http://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg")
    .into(ivImg);

那么Glide是如何利用傳入的Frgament或Activity對生命周期進(jìn)行管理呢?
先一步一步看吧俗或,當(dāng)你調(diào)用Glide.with()方法的時(shí)候市怎,傳入了Activity或者Fragment對象,然后根據(jù)它獲取到FragmentManager辛慰,然后再根據(jù)這個(gè)FragmentManager會去生成一個(gè)RequestManagerFragment区匠,RequestManagerFragment就是Glide管理圖片生命周期的法寶,F(xiàn)ragment里面有onStart() onStop() 和onDestroy()的生命周期方法帅腌。在這個(gè)再去回調(diào)RequestManager里面的方法驰弄,就起到了,自動控制圖片加載還是暫停的目的速客。
舉個(gè)例子戚篙,如果Glide.with()傳入的是Activity,那么當(dāng)Activity執(zhí)行到onStop()生命周期(比如跳轉(zhuǎn)到其他頁面去了)的時(shí)候溺职,應(yīng)該是不需要加載圖片了岔擂。就會影響到該Activity旗下的Fragment也就是RequestManagerFragment,回調(diào)它的onStop()浪耘,它又會回調(diào)RequestManager的onStop()方法乱灵,接著就把沒有加載完成的圖片給暫停掉了。

Paste_Image.png

1.Glide默認(rèn)加載Bitmap的時(shí)候會使用RGB_565格式七冲,而Picasso會默認(rèn)使用ARGB8888格式阔蛉,這樣的話,Glide比Picasso的內(nèi)存開銷要小一半癞埠,但是清晰度會低于Picasso状原,不過可以設(shè)置一個(gè)GlideMoudle將加載出來的RGB_565格式轉(zhuǎn)為ARGB8888格式,這樣雖然會增加Glide消耗的內(nèi)存(大概兩倍),不過仍然還是遠(yuǎn)低于Picasso消耗的內(nèi)存的苗踪。

2.加載圖片的時(shí)候颠区,Picasso默認(rèn)會加載全尺寸的圖片,而Glide會根據(jù)需要填充的View的大小來決定需要加載圖片的尺寸通铲,因此消耗的內(nèi)存更少毕莱。不過Picasso也可以指定加載圖片的尺寸,不過需要多一步計(jì)算颅夺,當(dāng)計(jì)算完成后兩者消耗內(nèi)存接近朋截,不過相比之下還是Glide效率更高,因?yàn)樗鼤詣佑?jì)算出任意情況下的ImageView的尺寸吧黄。

3.磁盤緩存方面: Picasso會緩存全尺寸的圖片(只緩存一次部服,在需要的時(shí)候會取出然后調(diào)整大小再填充所以會比Glide慢),而Glide緩存的是跟ImageView尺寸相同的拗慨,而且加載的是RGB_565格式廓八,緩存的就是該格式奉芦,不過Glide的緩存,不同尺寸會分別緩存一次剧蹂,這樣的話各個(gè)尺寸都會存在緩存声功,可以通過下面代碼修改緩存方式:

Glide.with(this)
     .load("http://nuuneoi.com/uploads/source/playstore/cover.jpg")
     .diskCacheStrategy(DiskCacheStrategy.ALL)
     .into(ivImgGlide);

下次在任何ImageView中加載圖片的時(shí)候,全尺寸的圖片將從緩存中取出宠叼,重新調(diào)整大小先巴,然后緩存。
Glide的這種方式優(yōu)點(diǎn)是加載顯示非趁岸快筹裕。而Picasso的方式則因?yàn)樾枰陲@示之前重新調(diào)整大小而導(dǎo)致一些延遲,即使使用Picasso.noFade()讓其立即顯示窄驹。

4.Glide可以加載Gif圖朝卒,而Picasso卻不行,但是Glide加載Gif圖的時(shí)候會消耗大量的內(nèi)存乐埠,除了gif動畫之外抗斤,Glide還可以將任何的本地視頻解碼成一張靜態(tài)圖片。

5.此外丈咐,Glide還可以配置圖片顯示的動畫瑞眼,而Picasso只有一種動畫:fading in。

6.Glide和Picasso都是非常完美的庫棵逊。Glide加載圖像以及磁盤緩存的方式都要優(yōu)于Picasso伤疙,速度更快米奸,并且Glide更有利于減少OutOfMemoryError的發(fā)生肯骇,GIF動畫是Glide的殺手锏。不過Picasso的圖片質(zhì)量更高笨枯,建議是使用Glide蛙讥,但是將Bitmap格式換成 ARGB_8888锯蛀、讓Glide緩存同時(shí)緩存全尺寸和改變尺寸兩種。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末次慢,一起剝皮案震驚了整個(gè)濱河市旁涤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迫像,老刑警劉巖劈愚,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異闻妓,居然都是意外死亡菌羽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門纷闺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來算凿,“玉大人,你說我怎么就攤上這事犁功∶ズ洌” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵浸卦,是天一觀的道長署鸡。 經(jīng)常有香客問我,道長限嫌,這世上最難降的妖魔是什么靴庆? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮怒医,結(jié)果婚禮上炉抒,老公的妹妹穿的比我還像新娘。我一直安慰自己稚叹,他們只是感情好焰薄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扒袖,像睡著了一般塞茅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上季率,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天野瘦,我揣著相機(jī)與錄音,去河邊找鬼飒泻。 笑死鞭光,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的泞遗。 我是一名探鬼主播衰猛,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼刹孔!你這毒婦竟也來了啡省?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤髓霞,失蹤者是張志新(化名)和其女友劉穎卦睹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體方库,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡结序,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纵潦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徐鹤。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡垃环,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出返敬,到底是詐尸還是另有隱情遂庄,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布劲赠,位于F島的核電站涛目,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏凛澎。R本人自食惡果不足惜霹肝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望塑煎。 院中可真熱鬧沫换,春花似錦、人聲如沸最铁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炭晒。三九已至待逞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間网严,已是汗流浹背识樱。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留震束,地道東北人怜庸。 一個(gè)月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像垢村,于是被迫代替她去往敵國和親割疾。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353

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