【问题标题】:Android Ion Cache RefreshAndroid 离子缓存刷新
【发布时间】:2014-11-09 18:09:34
【问题描述】:

我正在使用特定的 url 在线获取图像,但 url 本身每隔几分钟就会自动更改。 我正在使用来自Here 的 ION 库 我遇到的问题是当我刷新页面时,页面本身看起来正在刷新,但出现的是完全相同的图片。 我假设它是一个缓存的图像?如果我重新安装应用程序,它会再次获得正确的图像。

这就是我使用 ION 的方式,其中 imageID2[position] 只是 jpg 的典型 url。

    Ion.with(imageView)
            .placeholder(R.drawable.ic_launcher)
            .error(R.drawable.ic_launcher)
            .load(imageId2[position]);

无论如何我可以禁用缓存或让它重新查找图像吗?

【问题讨论】:

    标签: android caching android-ion


    【解决方案1】:

    使用 .noCache() 绕过缓存。

    【讨论】:

    • 我尝试了 .noCache() 但我似乎收到了无法解决方法 .noCache() 错误。
    • 您需要使用长格式,然后才能修改 http 参数:Ion.with(context) .load(url) .noCache() .withBitmap() .placeholder.error.load。 ...
    【解决方案2】:

    根据文档here,使用“长”方式构建 ImageView 请求,以便您可以添加标头、noCache 等。

    从此更改您的原始请求:

    Ion.with(imageView)
            .placeholder(R.drawable.ic_launcher)
            .error(R.drawable.ic_launcher)
            .load(urlString);
    

    到这里:

    Ion.with(context)
            .load(urlString)
            .noCache()
            .withBitmap()
            .placeholder(R.drawable.ic_launcher)
            .error(R.drawable.ic_launcher)
            .intoImageView(imageView);
    

    【讨论】:

      【解决方案3】:

      您可以将唯一的字符串附加到您的 url,例如当前时间戳,以强制 Ion 将每个请求视为唯一的。

      【讨论】:

      • 不幸的是,我无法控制 url 链接本身,否则这将是个好主意。
      • 对不起,当您拨打电话时,我的意思是本地。只需在 url 的末尾附加一个虚构的参数。例如"yoursite.com?uniqueid="+timestamp
      • 哦,对了,我从来没想过,哈哈,完美的伙伴,谢谢!赞赏!!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多