Glide快取之SD卡快取

2021-09-29 21:00:46 字數 1104 閱讀 9358

首先自定義類實現glidemodule

implements

glidemodule

記住一定要實現import com.bumptech.glide.module.glidemodule;這個包下的glidemodule不然重寫的方法會不一樣

重寫glidemodule類的兩個方法

@override

public

void

(@nonnull context context,

@nonnull glidebuilder builder)

@override

public

void

registercomponents

(@nonnull context context,

@nonnull glide glide,

@nonnull registry registry)

//設定快取的大小

int cachesize =

1024

*1024*20

;//在sd卡中建立乙個用來儲存的資料夾

file file =

newfile

(environment.

getexternalstoragedirectory()

,"mycache");

//獲取檔案路徑

string path = file.

getpath()

;//磁碟lru快取工廠

builder.

setdiskcache

(new

disklrucachefactory

(path, cachesize)

);

android:name=

"包名.sd卡快取的類名"

android:value=

"sd卡快取類實現的類"

>

<

/meta-data>

如果你的模擬器是6.0以上的話記得一定要加上動態的讀寫許可權

Glide快取機制

1.linkedhashmap 2.cleanupcallable 涉及到threadpoolexecutor private final callablecleanupcallable new callable trimtosize if journalrebuildrequired return...

Glide快取配置

glide依賴 這裡用的是android studio3.0 設定快取大小為20mb int memorycachesizebytes 1024 1024 20 20mb 設定記憶體快取大小 builder.setmemorycache new lruresourcecache memorycach...

Glide 快取邏輯

glide 的快取策略和picasso 的快取策略上有哪些不同,picasso 是被動清除快取,也就是依賴於lru 的 容量來清理 glide 可以在lru的基礎上新增了主動清理的功能。一共分為三層 private engineresource getengineresourcefromcache ...