前言
本篇主要記錄的是 Glide 圖片加載框架的使用
一、簡(jiǎn)介
現(xiàn)在的 Android 網(wǎng)絡(luò)請(qǐng)求框架比較多,并且功能也很強(qiáng)大,使用起來也很簡(jiǎn)單,目前大家常用的,說的最多的有三個(gè),分別是 Glide 、Picasso 、 Fresco,各有各的優(yōu)點(diǎn),至于選擇哪種,完全是看項(xiàng)目需求和個(gè)人喜好,可以參考這篇文章
為什么要選擇 Glide 呢,第一,是因?yàn)檫@是 Google 官方推薦的網(wǎng)絡(luò)加載框架,我們做 Android 的,還是盡量以官方為準(zhǔn)吧;第二,個(gè)人認(rèn)為簡(jiǎn)單易用,使用起來很方便。也是唯一一個(gè)默認(rèn)就支持加載 GIF 圖片的框架,第三,是內(nèi)存這塊處理的比較好,極大地減少了出現(xiàn) oom 的幾率。當(dāng)然,這只是個(gè)人見解。
郭霖大神有關(guān)于 Glide 的詳解,請(qǐng)坐 飛機(jī)
官方關(guān)于 Glide 的中文版介紹:
https://muzhi1991.gitbooks.io/android-glide-wiki/content/chapter5.html
二、使用
- Glide 和 Picasso 在使用上及其方便和快捷,并且兩者使用的方式非常相似
第一步:引入依賴包
//最新的是 3.8 版本的,但是 3.7 目前最穩(wěn)定
compile 'com.github.bumptech.glide:glide:3.8.0'
第二步:添加網(wǎng)絡(luò)權(quán)限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
第三步:開始在代碼中使用
Glide
.with(this) // 指定Context
.load(URL_GIF)// 指定圖片的URL
.placeholder(R.mipmap.ic_launcher)// 指定圖片未成功加載前顯示的圖片
.error(R.mipmap.ic_launcher)// 指定圖片加載失敗顯示的圖片
.override(300, 300)//指定圖片的尺寸
.fitCenter()//指定圖片縮放類型為fitCenter
.centerCrop()// 指定圖片縮放類型為centerCrop
.skipMemoryCache(true)// 跳過內(nèi)存緩存
.crossFade(1000)//設(shè)置漸變式顯示的時(shí)間
.diskCacheStrategy(DiskCacheStrategy.NONE)//跳過磁盤緩存
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//僅僅只緩存原來的全分辨率的圖像
.diskCacheStrategy(DiskCacheStrategy.RESULT)//僅僅緩存最終的圖像
.diskCacheStrategy(DiskCacheStrategy.ALL)//緩存所有版本的圖像
.priority(Priority.HIGH)//指定優(yōu)先級(jí).Glide 將會(huì)用他們作為一個(gè)準(zhǔn)則,并盡可能的處理這些請(qǐng)求,但是它不能保證所有的圖片都會(huì)按照所要求的順序加載。優(yōu)先級(jí)排序:IMMEDIATE > HIGH > NORMAL > LOW
.into(imageView);//指定顯示圖片的ImageView
很簡(jiǎn)單,三步就完成了
三、加載圓形、圓角等圖片
在我們項(xiàng)目中使用的話,僅僅是上邊的簡(jiǎn)單使用肯定滿足不了我們的需求,為了美觀,我們需要各種規(guī)格的圖片
github 上有一個(gè)配合 Glide 使用的三方庫,就是加載圓形、圓角等圖片的
地址為:https://github.com/wasabeef/glide-transformations
簡(jiǎn)書上有篇文章比較詳細(xì)的介紹這個(gè)庫的使用方法:http://www.itdecent.cn/p/976c86fa72bc
四、圖片加載框架的封裝
請(qǐng)參考本人的另一篇:
http://www.itdecent.cn/p/d6e84d88575f
也算是偷懶吧,附帶了很多鏈接,而自己少寫很多字!實(shí)際上也不算是懶,因?yàn)檫@類的文章太多了,經(jīng)實(shí)踐,總結(jié)的都很好,實(shí)在沒必要重復(fù)造輪子了!