2017-02-13 63 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