如何通知应用程序已下载并缓存的图像在服务器上已更新/更改并且需要重新下载?

Posted

技术标签:

【中文标题】如何通知应用程序已下载并缓存的图像在服务器上已更新/更改并且需要重新下载?【英文标题】:How to inform the app that an image that was already downloaded and cached, was updated/changed on the server and needs to be Re-downloaded? 【发布时间】:2013-12-07 16:05:08 【问题描述】:

如何通知应用程序已下载并缓存的图像在服务器上已更新/更改并需要重新下载?

我的应用上有一个 ListView,它可以下载图像并缓存它们,这样就不必一次又一次地加载它们。

问题是当我在服务器上编辑或更改图像时,应用程序上的图像保持不变,因为它被缓存了。它使用图像 URL。

换句话说,代码检查该 URL 是否已用于下载该图像,如果是,则将其从缓存中拉出并显示。否则 - 它会下载它。

我如何通知应用程序有新图像?

我的意思是,在我的情况下,有什么常见的方法可以做到这一点吗?

【问题讨论】:

【参考方案1】:

您可以添加一个“重新下载”按钮或类似的按钮,重新下载图像并替换旧图像,这是最简单的方法。

您可以做的另一件事是每次在线检查图像是否正确(您可以有一个值“版本”来检查图像是否为当前版本),如果图像是旧版本,请下载新版本。

我更喜欢第一个版本,它更容易,但这是你的选择:)

【讨论】:

我想我应该使用第二个。它是一个包含许多项目的列表视图,用户不必刷新每一个图像。但是,还有其他方法吗? 我想不出任何其他方式,如果您告诉我有关您正在制作的应用程序的更多详细信息,也许我可以提供更多帮助,例如您要升级所有图像吗?还是一次一些图像? 有很多值。每个值都有一个图像。每个用户都可以编辑自己的值的图像。这些值始终显示给所有其他用户。因此,图像由用户一次更新一个。 (当然也会有少数用户同时更新图片的情况)。 所以您的意思是用户可以自己更改图像?像个人资料图片或类似的东西?在这种情况下,我想你唯一能做的就是如果有可用的 wi-fi,请再次下载图像,否则使用缓存 是的。你可以那样说。所以基本上每次用户进入列表视图时都重新下载图像?这真的没有意义.. 他们是怎么做到的.. 让我们说...在 instagram 上?

以上是关于如何通知应用程序已下载并缓存的图像在服务器上已更新/更改并且需要重新下载?的主要内容,如果未能解决你的问题,请参考以下文章

通过推送通知服务添加图像?

更新已传递的通知 ios 10

如何把本地文件上传到gitlab上已存在的工程里

转Android开发之增量更新

J2me 使用更改的 ListModel 更新容器列表

如何从 URL 下载图像并缓存 Android (React-Native)