【问题标题】:change Glide load images cache directory更改 Glide 加载图像缓存目录
【发布时间】:2017-07-01 01:44:08
【问题描述】:

我想从我的应用程序中更改 Glide 加载图像缓存目录,清洁大师无法擦除缓存。我使用了

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

在我的 GlideModule 中,但它不起作用。

【问题讨论】:

  • GlideModule 是否正确配置并初始化?这意味着您对 setDiskCache 的调用是否被调用?
  • 现在我的图片缓存在 android/data/myPakacgeName/chache/abbasali/
  • Glide 将优先使用现有缓存而不是新缓存。因此,如果您在此更改之前已经运行了您的应用程序,则会使用一个内部缓存。要删除内部缓存,只需从 Android 应用设置菜单中清除您的应用缓存设置。

标签: android android-glide


【解决方案1】:

Glide 在设计上不支持直接访问缓存。 Cache 是一个透明的存储,这意味着你不需要知道它。同样在Glide 中,缓存的粒度比url 更细。

所以解决办法是正常加载,如果有的话就从缓存中加载,否则先下载再加载。查看.diskCacheStrategy() 以更好地控制缓存内容。

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

如果您使用DiskCacheStrategy.SOURCE(包含在ALL 中),您的原始图像将存储在手机中,并且可能在您需要离线时可用。在使用network 之前,始终会先查询缓存。

这里是使用GlideDiskCache加载图像的示例代码

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

【讨论】:

  • 嗨 Rafsanahmad,这是我在 Stack Overflow https://stackoverflow.com/questions/51581231/images-disappear-when-scrolling-up-and-down-and-spaces-increase-between-images-u 上的问题。我的问题是当我上下滚动时图像会重新加载,我无法解决这个问题。
猜你喜欢
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2018-06-15
  • 2017-09-13
  • 1970-01-01
相关资源
最近更新 更多