(Glide) 从缓存中获取图像(如果存在)

(Glide) Getting image from cache if it exists

我在我的应用程序中使用 Glide 时遇到问题。据我所知,如果图像被下载一次并且我从其他 activity 的缓存中请求图像,Glide 必须快速显示图像。我有这种行为,但不是在我的应用程序中。图片加载速度非常慢(大约 3 秒),但在另一个应用程序中大约为 0.4 秒。 我调用 Glide 的代码:

    Glide.with(this)
            .load(url)
            .signature(new StringSignature(url))
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(mHeader);

与其他activity代码相同。 你能帮帮我吗? 谢谢

您不需要 signature(url) 部分,模型(在您的情况下为 url 字符串)已经是缓存键的一部分。

问题可能是您的 header 改变了大小。对于缓存命中,视图大小(= 生成的位图大小)需要保持不变。但是,由于您正在进行 ALL 缓存,因此负载应该仍然很快。 url 中是否有任何变化,比如 sessionid 或类似的?那会使缓存丢失。

如果您正在加载的 url 是动画 GIF RESULT 缓存可能是罪魁祸首,here's a reference