Glide使用原理

基礎(chǔ)概念:

  • Model:圖片地址(網(wǎng)絡(luò)url,本地文件,ResId等)
  • Data:InputStream 根據(jù)圖片地址獲取的原始數(shù)據(jù)。
  • Resource:原始數(shù)據(jù)解碼后獲得的格式,如Bitmap、Drawable 等;
  • TransformResource:轉(zhuǎn)換后的數(shù)據(jù),轉(zhuǎn)換,剪切,圓角等;
  • TranscodedResource:轉(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);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容