Android 平滑圖片加載和緩存庫 Glide 使用詳解

Android 平滑圖片加載和緩存庫 Glide 使用詳解

ID:39464509

大小:58.00 KB

頁數(shù):6頁

時間:2019-07-03

Android 平滑圖片加載和緩存庫 Glide 使用詳解_第1頁
Android 平滑圖片加載和緩存庫 Glide 使用詳解_第2頁
Android 平滑圖片加載和緩存庫 Glide 使用詳解_第3頁
Android 平滑圖片加載和緩存庫 Glide 使用詳解_第4頁
Android 平滑圖片加載和緩存庫 Glide 使用詳解_第5頁
資源描述:

《Android 平滑圖片加載和緩存庫 Glide 使用詳解》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、Android平滑圖片加載和緩存庫Glide使用詳解來源:互聯(lián)網(wǎng)?????時間:2015-8-268:04:09本篇文章主要介紹了"Android平滑圖片加載和緩存庫Glide使用詳解",主要涉及到方面的內(nèi)容,對于Android開發(fā)感興趣的同學可以參考一下:在圖片加載庫爛大街的今天,選擇一個適合自己使用的圖片加載庫已經(jīng)成為了每一個Android開發(fā)者的必經(jīng)之路?,F(xiàn)在市面上知名的圖片加載庫有UIL,Picasso,V...··在圖片加載庫爛大街的今天,選擇一個適合自己使用的圖片加載庫已經(jīng)成為了每一個Android開

2、發(fā)者的必經(jīng)之路?,F(xiàn)在市面上知名的圖片加載庫有UIL,Picasso,VolleyImageLoader,Fresco以及我們今天的主角Glide。它們各有千秋,不能評定誰一定比誰好,只能說哪一個更適合你。我的理解下面我來談一下個人對這些圖片加載庫的理解,如有錯誤,還望指教。UniversalImageLoader:一個強大的圖片加載庫,包含各種各樣的配置,最老牌,使用也最廣泛。Picasso:Square出品,必屬精品。和OkHttp搭配起來更配呦!VolleyImageLoader:Google官方出品,可惜不

3、能加載本地圖片~Fresco:Facebook出的,天生驕傲!不是一般的強大。Glide:Google推薦的圖片加載庫,專注于流暢的滾動。更多詳情請看stackoverflow上這個問題。初試Glide下面進入今天的主題,相信之前很多同學都看到過這篇介紹Glide的文章,中文版在這里。文中從各個方面介紹和比較了Glide與Picasso,總體來說二者極為相似,有著近乎相同的API的使用風格。但Glide在緩存策略和加載GIF方面略勝一籌。最后作者也極力推薦了這個庫。而且據(jù)說在Google新出的Photos應用中,

4、到處可見Glide的蹤跡??吹竭@里,你是不是已經(jīng)迫不及待的想試一試這個庫呢?就在你下定決心嘗試一記的時候,你又聽說Yelp?app(據(jù)說是美國的大眾點評)也在使用這個吊炸天的庫。你的心中激動萬分,發(fā)四一定要使用這個庫。說干就干,打開AndroidStudio,在builde.gradle里面添加上compile'com.github.bumptech.glide:glide:3.6.1'然后全局搜索圖片加載的地方,全部換成了下面的代碼:Glide.with(mContext).load(url).placehol

5、der(R.drawable.loading_spinner).crossFade().into(myImageView);在經(jīng)過漫長的編譯過程之后,再次打開APP,看到有著漸現(xiàn)效果的圖片呈現(xiàn)在你的面前,你不禁叫道:“wocao,真TM帥!為什么我以前沒有發(fā)現(xiàn)呢?”。不過在你使用了幾天之后你會發(fā)現(xiàn)一些問題:為什么有的圖片第一次加載的時候只顯示占位圖,第二次才顯示正常的圖片呢?為什么我總會得到類似Youcannotstartaloadforadestroyedactivity這樣的異常呢?為什么我不能給加載的圖片s

6、etTag()呢?為什么?為什么?這么NB的庫竟然會有這么多的問題。沒錯,這就是我今天要講的重點。怎么避免上面的問題發(fā)生。一些解決方案1.如果你剛好使用了這個圓形Imageview庫或者其他的一些自定義的圓形Imageview,而你又剛好設置了占位的話,那么,你就會遇到第一個問題。如何解決呢?方案一:不設置占位;方案二:使用Glide的TransformationAPI自定義圓形Bitmap的轉換。這里是一個已有的例子;方案三:使用下面的代碼加載圖片:Glide.with(mContext).load(url).

7、placeholder(R.drawable.loading_spinner).into(newSimpleTarget(width,height){@OverridepublicvoidonResourceReady(Bitmapbitmap,GlideAnimationanim){//setImageBitmap(bitmap)onCircleImageView}};2.至于第二個問題,請記住一句話:不要再非主線程里面使用Glide加載圖片,如果真的使用了,請把context參數(shù)換成getAp

8、plicationContext。更多的細節(jié)請參考這個issue。3.為什么不能設置Tag,是因為你使用的姿勢不對哦。如何為ImageView設置Tag呢?且聽我細細道來。方案一:使用setTag(int,object)方法設置tag,具體用法如下:Java代碼是醬紫的:Glide.with(context).load(urls.get(i).getUrl()).fitC

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。