基礎(chǔ)概念:
- Model:圖片地址(網(wǎng)絡(luò)url,本地文件,ResId等)
- Data:InputStream 根據(jù)圖片地址獲取的原始數(shù)據(jù)。
- Resource:原始數(shù)據(jù)解碼后獲得的格式,如Bitmap、Drawable 等;
- TransformResource:轉(zhuǎn)換后的數(shù)據(jù),轉(zhuǎn)換,剪切,圓角等;
- Trans
codedResource:轉(zhuǎn)碼后的數(shù)據(jù),例如GIF; - Target:顯示目標(biāo)控件,如ImageView。

Glide工作流程.png
簡(jiǎn)單使用:三步走with load into
- with(context) 可以使用Activity,F(xiàn)ragment,ApplicationContext等,建議使用Activity或者Fragment,方便與頁面生命周期,當(dāng)Activity(或者Fragment) Destroy時(shí),圖片也停止加載,如果是ApplicationContext,則圖片加載會(huì)與APP生命周期同步;
- placeHolder( )和error( ) 應(yīng)該使用ResId或者本地文件。
- override(width , height)加載時(shí),改變圖片大小,節(jié)省內(nèi)存。
- skipMemoryCache(true)跳過內(nèi)存緩存,但是并不會(huì)影響緩存至內(nèi)存。只是三級(jí)緩存時(shí)跳過內(nèi)存,直接從本地或者網(wǎng)絡(luò)請(qǐng)求。默認(rèn)就是false。針對(duì)url相同的圖片
- load 指定待加載的圖片資源。Glide支持加載多種圖片資源:網(wǎng)絡(luò)圖片、本地圖片、應(yīng)用資源、二進(jìn)制流、Uri對(duì)象等。因此load()方法也有很多個(gè)方法重載,除了字符串網(wǎng)址之外,還可以以下使用方是式:
// 加載本地圖片
File file = new File(getExternalCacheDir() + "/image.jpg");
Glide.with(this).load(file).into(imageView);
// 加載應(yīng)用資源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);
// 加載二進(jìn)制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);
// 加載Uri對(duì)象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);