android - 同一 URL 中不同图像的 Glide 缓存
问题描述
我使用Glide库从服务器获取图像。我的问题是,当图像在服务器中更新为与前一张图像相同的 URL 时,Glide 会显示前一张图像。我将这些行添加到我的代码中,但问题仍然存在:
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.signature(new ObjectKey(String.valueOf(System.currentTimeMillis())))
我的完整代码是:
CircleImageView profileImageView = view.findViewById(R.id.profile_picture_image_view);
GlideApp.with(view.getContext())
.load(sessionManager.getAvatar().replace("https", "http"))
.error(R.drawable.default_pic)
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.signature(new ObjectKey(String.valueOf(System.currentTimeMillis())))
.placeholder(R.drawable.ic_camera)
.centerCrop()
.into(profileImageView);
我应该怎么办?
解决方案
如果您正在使用Glide 4.x
,请尝试执行以下操作:
var requestOptions = RequestOptions()
requestOptions.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.signature(ObjectKey(System.currentTimeMillis()))
Glide.with(this).load(url).apply(requestOptions).into(this)
所以创建一个RequestOptions()
对象并通过它应用所需的标志
推荐阅读
- java - 文件上传下载传输状态为FAILED时如何知道错误/异常
- ios - Xcode 使用哪些 URL 与 Apple 的服务器通信
- reactjs - 我想在反应中缓存图像,我应该使用什么来存储
- python - Django 详细视图测试模型在 django 测试中给出 AssertionError: 404 != 200,但在浏览器中工作正常
- html - HTML 文本对齐问题
- php - 从值中检索数组键
- google-cloud-platform - 在 GCP 资源上应用时,Terraform 计划失败
- python - 如何比较同一列表中的元素并附加到其他列表?(Python)
- maven - 如何从 GCLOUD_CONFIG 获取 pom.xml 中的 projectId 以获取端点框架 maven 插件
- bash - 结合bash中匹配字符串的文件中的数据列