glide 强制加载缓存图像,不关心什么分辨率

glide force load cached image, don't care what resolution

我已经研究了一段时间了,是时候问一个关于它的问题了。

Find and load cached Image in Glide 看起来像,但按照 Glide 页面上的链接和讨论,它对我不起作用。

在 Activity A 上,我通过 URL 在 ImageView 中加载图像。

之后,我带着设备下线了。然后我打开 Activity B,我在不同的 ImageView 中加载相同的 URL,它具有其他维度。它仅在宽度和高度等于 Activity A 上的 ImageView 时才有效,或者您提供 override() 第一个 ImageView 的宽度和高度。但是 Activity B 并不知道。

我在Activity答:

Glide.with(context)
    .load(url)
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .placeholder(R.drawable.placeholder)
    .crossFade()
    .into(image);

并且在 activity B 我做:

Glide.with(mContext)
    .load(url)
    .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
    .into(imageView);

我试过上面的方法,因为我认为磁盘策略也会存储原始文件,所以它会加载那个比。结果是没有加载图像。

我正在考虑回到 Picasso,因为我认为这在那里是可能的,但我再试一次 Whosebug。

如果可能的话,我会立即悬赏...

你能为 Activity B 试试下面的代码吗?

Glide.with(mContext)
   .load(url)
   .diskCacheStrategy(DiskCacheStrategy.SOURCE)
   .into(imageView);

现在您可以使用它了:

    Glide.with(MainActivity.context)
            .applyDefaultRequestOptions(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL))
            .load(url)
            .into(img);