android - 如何使用具有相同 url 的新图像缓存图像?

标签 android caching android-glide image-caching

我有 ListView 来加载很多用户的图像,并且此 ListView 项目有一个用于用户个人资料图片的 ImageView ,这里的问题是,如果用户更改了他的新图像,则不会显示,因为最后一个个人资料图片已被缓存,而旧的图片已被缓存将会显示一张,因为新旧图像具有相同的 url: 网址 EX:https://xyz.s3.amazonaws.com/users/“+friend_id+“/photos/profile.jpg”

我用过Glide但我也有同样的问题

最佳答案

此问题是由于图像缓存造成的,Glide 检查缓存中是否有可用图像,如果确实会加载它,否则会加载新图像。

要解决此问题,您需要像这样更改其缓存策略

Glide.with(mContext)
            .load((Integer) mDataset.get(position))
            .fitCenter()
            .diskCacheStrategy(DiskCacheStrategy.NONE) // this will prevent image to be cached and each time glide will load it from server
            .into(imageView);

关于android - 如何使用具有相同 url 的新图像缓存图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675338/

相关文章:

android - 当应用程序被杀死而不是重新启动时如何保持服务?

javascript - Chrome 何时清除磁盘缓存?

android - 在 android 中使用 Glide 预取图像

android - 如何将图像从 url 加载到 BottomNavigationView 菜单项图标中

android - OutOfMemoryError 当我使用 Recyclerview 加载大量图片时

java - Android 类 'GeofencingClient' 不存在?

android - 我的应用程序每个 Android 版本有多少用户

java - 从 Gmail 导入好友并向他们发送消息

asp.net - 如何强制客户端浏览器从服务器下载图像而不是使用其缓存

caching - Translation Lookaside Buffer (TLB) 与 L1 缓存到 CPU 的级别相同吗?那么,我可以将虚拟地址转换与 L1 缓存访问重叠吗?