首页 > 解决方案 > 使用 Signature Android glide 查找缓存的图像

问题描述

我使用此代码是因为每次服务器上的图像更改时我都想下载最新的。

 Glide.with(yourFragment)
 .load(yourFileDataModel)
 .signature(new StringSignature(new ObjectKey(System.currentTimeMillis()))
 .into(yourImageView);

但是这里有一个问题。如果 Internet 连接中断(或 smt),glide 无法在磁盘缓存中找到图像并显示错误。如何使用签名找到缓存的图像?

标签: androidandroid-glide

解决方案


您使用错误key的签名。System.currentTimeMillis()每毫秒的变化。您要做的是提供一些仅在图像更改时才会更改的键。你必须做这样的事情。您可以向image.getUpdatedAt()服务器索取。

GlideApp.with(context)
        .load(glideUrlCacheKey)
        .signature(new ObjectKey(image.getUpdatedAt()))
        .into(holder.customerImage);

推荐阅读