android - Glide 在 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)
知道会有什么问题吗?
解决方案
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= {随机字符串或数字},因为额外的查询字符串不会影响您的原始网址。
推荐阅读
- reactjs - 为 initialState 反应 redux 设置类型
- sfml - 如何在 SFML 中呈现 Unicode 文本?
- macos - 为什么 'stty -echo' 不关闭 macOS 上的回显位
- docker - Docker-compose 在其他容器之后加载容器
- python - 从字符串类型的列中删除固定间隔的值 - 熊猫
- hive - 使用presto查询hive表,有的表查询失败有的成功
- r - tbl_summary 能否同时显示变量的级别和子级别(即,用于汇总统计列)?
- visual-studio-code - VSCode如何同时使用python虚拟环境和Conda env
- c++ - lambda“呼叫运算符”和“带括号的 lambda”
- flutter - 使用 Flutter 进行屏幕录制