Glide快取配置

2021-09-19 21:35:21 字數 1767 閱讀 7362

glide依賴

//這裡用的是android studio3.0

// 設定快取大小為20mb

int memorycachesizebytes = 1024 * 1024 * 20; // 20mb

// 設定記憶體快取大小

builder.setmemorycache(new lruresourcecache(memorycachesizebytes));

// 根據sd卡是否可用選擇是在內部快取還是sd卡快取

if(sdcardutils.issdcardenable())else

}// 針對v4使用者可以提公升速度

@override

public boolean ismanifestparsingenabled()

}

glide跳過記憶體快取

.load(url)

.skipmemorycache(true)//預設為false

.dontanimate()

.centercrop()

.into(imageview);

glide磁碟快取

.load(url)

.diskcachestrategy(diskcachestrategy.all)

.dontanimate()

.centercrop()

.into(imageview);

/*預設的策略是diskcachestrategy.automatic

diskcachestrategy有五個常量:

diskcachestrategy.all 使用data和resource快取遠端資料,僅使用resource來快取本地資料。

diskcachestrategy.none 不使用磁碟快取

diskcachestrategy.data 在資源解碼前就將原始資料寫入磁碟快取

diskcachestrategy.resource 在資源解碼後將資料寫入磁碟快取,即經過縮放等轉換後的資源。

diskcachestrategy.automatic 根據原始資料和資源編碼策略來自動選擇磁碟快取策略。*/

快取清理

//磁碟快取清理(子執行緒)

//記憶體快取清理(主線程)

解決辦法:build-->rebuild project

根據需求封裝了乙個簡單的glide工具類

public class glideutils 

public static void initimagenocache(context context, string url, imageview imageview)

public static void clearmemorycache(context context)

public static void clearfilecache(context context)

}).start();

}}

Glide使用之配置快取

配置類 package com.itant.zhuling.tool.image.glide import android.content.context import com.bumptech.glide.glide import com.bumptech.glide.glidebuilder i...

Glide快取機制

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

Glide 快取邏輯

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