2017-02-13 66 views
0

我想從我的應用程序改變滑翔負荷圖像的緩存目錄,清潔船長不抹cache.i我GlideModule使用變化滑翔負荷圖像的緩存目錄

builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, "abbasali", cacheSize100MegaBytes * 5)); 

但但它使沒有影響。

+0

不GlideModule正確配置和初始化得到?這意味着你調用setDiskCache被調用了嗎? – yosriz

+0

現在我的圖片緩存位於android/data/myPakacgeName/chache/abbasali/ –

+0

Glide會優先使用現有的緩存。因此,如果您在此更改之前已經運行了應用程序,則會使用內部緩存。要移除內部緩存,只需從Android應用設置菜單中清除應用緩存設置即可。 –

回答

1

Glide不支持通過設計直接訪問緩存。 Cache是一個透明的存儲,意味着你不需要知道它。同樣在Glide緩存比作爲密鑰的url好得多。

所以解決方案是正常加載,如果它存在,它將從緩存中加載,否則下載並加載。查看.diskCacheStrategy()以獲取有關緩存的更多控制。

Glide.with(context) 
.load(image_url) 
.diskCacheStrategy(DiskCacheStrategy.ALL) 
.into(imageView); 

如果使用​​(包含在ALL)你的原始圖像將被存儲在手機中,當你需要它脫機可能可用。在進行network之前,總會首先諮詢Cache。

這裏使用的是DiskCache加載圖像的示例代碼Glide

https://groups.google.com/forum/#!topic/glidelibrary/TcFOy0tcxXA