Glide的基本使用

2021-09-24 03:51:28 字數 2811 閱讀 8686

本文是在拜讀了郭神的glide系列教程後做的個人筆記,需要學習這方面知識的下方鏈結。

郭神部落格:

基本使用:glide.with().load().into();

硬碟快取:diskcachestrategy();有以下四種可選引數。

diskcachestrategy.none: 表示不快取任何內容。

diskcachestrategy.source: 表示只快取原始。

diskcachestrategy.result: 表示只快取轉換過後的(預設選項)。

diskcachestrategy.all : 表示既快取原始,也快取轉換過後的。

禁用記憶體快取:skipmemorycache(true);

glide自動識別載入靜態圖或者gif,asbitmap()可以強制載入靜態圖;asgif()則是載入動態圖,若傳入的不是gif,則會載入失敗。

glide是自動識別imageview的大小,因此基本不用我們人為指定,當然也可以使用override(100,100);這樣就不去管imageview的大小。

預載入 downloadonly(),preload(),都是替換into的,

不過diskcachestrategy()最好指定為diskcachestrategy.source。

donttransform()載入時不進行自動轉換;

override(target.size_original, target.size_original)指定成原始尺寸。

transform(…)變換操作;

fitcenter()按比例充滿螢幕;

centercrop();對原圖中心區域裁剪,配合override可指定比例。

自定義變換:自定義乙個類繼承bitmaptransformation,在重寫的方法裡進行具體實現,最終將該類例項傳入transform裡,不過一般都是引用開源庫。

glide-transformations,開源庫,已有眾多常用的自定義變換,可引入專案直接使用。

glide.with(this)

.load(url)

.bitmaptransform(new blurtransformation(this), new grayscaletransformation(this))

.into(imageview);

匯入後可同時進行多種變化。

自定義模組:

自定義模組類,實現glidemodule介面

@glidemodule   //4.+使用

public class myglidemodule implements glidemodule

@override

public void registercomponents(context context, glide glide)

}

在清單檔案裡宣告(4.+的話在上邊新增註解即可,無需在此宣告)

android:name="com.example.glidetest.myglidemodule"

android:value="glidemodule" />...

預設配置

setmemorycache()

用於配置glide的記憶體快取策略,預設配置是lruresourcecache。

setdiskcache()

用於配置glide的硬碟快取策略,預設配置是internalcachediskcachefactory。

setdiskcacheservice()

用於配置glide讀取快取中的非同步執行器,預設配置是fifoprioritythreadpoolexecutor,也就是先入先出原則。

setresizeservice()

用於配置glide讀取非快取中的非同步執行器,預設配置也是fifoprioritythreadpoolexecutor。

setdecodeformat()

用於配置glide載入的解碼模式,預設配置是rgb_565。

4.+版本

public class glideutil 

}

硬碟快取也發生一點更改

diskcachestrategy.none: 表示不快取任何內容。

4.+ 比之前的3.7的不同

asbitmap()這幾個方法在4.+上是放在load()之前的,新增了asfile()和asdrawable();

submit()對應3.7的downloadonly();

listener()方法,郭神的例子

glide.with(this)

.load("")

.listener(new requestlistener()

@override

public boolean onresourceready(drawable resource, object model, targettarget, datasource datasource, boolean isfirstresource)

}).into(imageview);

//新增此註解

@glideextension

public class myglideextension

//自定義方法需有此註解,且需要是靜態方法,第乙個引數必須是requestoptions,其他可以自定義

@glideoption

public static void cachesource(requestoptions options)

}

Glide基本使用

glide是一款由bump technologies開發的載入框架,使得我們可以在android平台上以極度簡單的方式載入和展示。目前,glide最新的穩定版本是3.7.0,雖然4.0已經推出rc版了,但是暫時問題還比較多。因此,我們這個系列的部落格都會使用glide 3.7.0版本來進行講解,這個...

Glide基本使用

compile com.github.bumptech.glide glide 3.7.0 uses permission android name android.permission.internet glide.with this load url into imageview flie re...

Glide基本使用

三 使用 1.最基本使用 glide.with context load url into imageview context也可以輸入其他 activity fragment imageview為控制項 2.擴充套件 在into 之前新增一些其他方法 例 顯示圓形 3.可以將所有需要的屬性加在re...