基礎(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
coded
Resource:轉(zhuǎn)碼后的數(shù)據(jù),例如GIF矢空; - Target:顯示目標(biāo)控件航罗,如ImageView。
簡單使用:三步走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)存。只是三級緩存時(shí)跳過內(nèi)存古程,直接從本地或者網(wǎng)絡(luò)請求蔼卡。默認(rèn)就是false喊崖。針對url相同的圖片
- load 指定待加載的圖片資源挣磨。Glide支持加載多種圖片資源:網(wǎng)絡(luò)圖片、本地圖片荤懂、應(yīng)用資源茁裙、二進(jìn)制流、Uri對象等节仿。因此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對象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);