Glide 在 recyclerview 中加载相同的图像

Glide loads same image in recyclerview

我以前没有遇到过,我正在努力弄清楚。

我正在尝试在 RecyclerView 中显示图像。图像应该每次都是随机的,我使用以下服务:https://picsum.photos/200/200/?random

但是,当我加载应用程序时,RecyclerView 一遍又一遍地显示相同的图像。

为了清楚起见,我清除了持有人:

        Glide.with(context).clear(holder.view.avatar)
        holder.view.image.setImageDrawable(null)

然后加载它

        Glide.with(context)
                .load("https://picsum.photos/200/200/?random")
                .into(holder.view.avatar)

知道会出现什么问题吗?

使用.diskCacheStrategy(DiskCacheStrategy.NONE)

Glide.with(context)
     .load("https://picsum.photos/200/200/?random")
     .diskCacheStrategy(DiskCacheStrategy.NONE)
     .into(holder.view.avatar)

Glide 使用您提供的 url 缓存图像。

使用签名

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

通过设置 .diskCacheStrategy(DiskCacheStrategy.NONE)

禁用缓存

使用技巧 https://picsum.photos/200/200/?temp={随机字符串或数字},因为额外的查询字符串不会影响您的原始 url。