【发布时间】:2018-03-11 05:15:39
【问题描述】:
尝试使用 Glide for Android 和 Firebase。
我的代码运行良好(上传、下载到 ImageViews),我的问题是当我更改 Firebase 存储中的图像(例如,用户图像)时,应用程序不“知道”该图像在数据库已更改并一直显示缓存版本。
显然我希望应用程序使用缓存,但要知道数据库中的原始图像是否已更改。
有办法吗?
【问题讨论】:
-
当你“改变”图像时你是替换用户的图像还是简单地添加一个新图像?以防万一,是否更新数据库中新图像的路径?
-
谢谢,我正在替换图像,而不是在另一个路径中添加另一个图像。
-
如果 URL 没有改变,那么我不确定 Glide 是否知道图像已经改变。
-
不知何故,你能知道用户更新了他的图像吗?如果可以,即使 URL 未更改,您也可以使用
(new StringSignature(UUID.randomUUID().toString()))重新下载相同的图像 -
如果您想让您的应用程序在发生更改时加载新图像,您需要实现一种方法来通知应用程序图像已更改。最简单的方法可能是简单地将新图像上传到存储并更改您的应用从哪里获取它的 URL。
标签: android firebase caching firebase-storage android-glide