【问题标题】:Live Images are showing on offline(no internet) mode too - Ionic 3 App实时图像也在离线(无互联网)模式下显示 - Ionic 3 App
【发布时间】:2018-01-10 02:32:09
【问题描述】:

我正在使用this cache API 缓存页面上的内容。一切正常。但是当我在移动设备上断开互联网连接时,我也可以在缓存页面上看到所有图像内容。这些图像是来自AWS并具有如下路径。当我调试离线用例时,URL与下面相同。换句话说,我没有特别努力缓存图像。所以我的问题是,这些图像如何是否在离线用例中显示?您可以看到,根据图像 URL,它必须仅适用于在线用例。那么这是如何工作的呢?希望您对此给予反馈。

更新:

断开连接是指:在应用打开的情况下断开互联网连接

用例:

我有一个在线页面(即只能使用互联网),用户可以在其中选择离线(即没有互联网)阅读的内容。我在这里所做的是,我已经缓存了内容,然后已经使用了离线页面上的缓存内容。但我没有特别努力缓存图像。正如我上面提到的,我也可以在离线页面上看到图像上的实时 URL。但是,这些图像仍然显示在离线页面上page.任何线索,好吗?

这也是离线页面上的图片网址:

<img src="https://s3-us-west-2.amazonaws.com/blue/pic/my-thumbnail-136x200-95.jpg"> 

【问题讨论】:

  • 断开连接是指在打开应用程序的情况下从互联网断开连接,还是关闭/终止应用程序,断开连接然后打开应用程序?如果您在一个已经打开图像的页面中,discconnect 然后转到另一个有图像的页面(第一次),它会加载吗?
  • 请查看我上面@GabrielBarreto 帖子中的更新内容

标签: android image caching ionic2 ionic3


【解决方案1】:

我从未使用过此缓存服务,也没有遇到过这种行为,但我可以分享以下内容:

我有一个应用程序,我在某些页面中显示头像,它是 Firebase 图像,链接始终相同。当我打开图像时,断开连接并转到我必须再次显示此图像的页面,直到我再次连接互联网才显示。

由于您使用的是 Amazon AWS,我不知道它是否具有相同的行为,因为您可能需要进行身份验证才能连接和检索图像,因此它需要互联网。

我的第一个猜测是,由于它是单页应用程序,当您在页面中打开图像时,它已经下载并有成功请求,然后当您导航到另一个页面时,它已经被缓存,而不是因为缓存服务已安装,但因为它是在您堆栈的早期页面中打开的。

如果您关闭应用程序,杀死/销毁它并再次打开,常见的行为是无法显示图像,因为您没有再次下载它。如果你这样做,它会显示图像,这超出了我的知识范围。

这不是缓存服务中的内容,因为您需要指定要缓存的内容,并且直接在 HTML 页面上使用它。

所以我的第二个猜测是 AWS 做了一些事情,因为 Firebase 具有处理其图像的行为,AWS 必须有自己的方式来处理它。所以它会自动缓存打开的图像并创建某种索引或引用,因此它可以在再次调用 API 之前首先查找对该图像的成功调用(我从未使用过 AWS,也从未查看过它的文档,所以我只是说我的想法)。

这个答案更像是一个对于评论框来说太长的评论,但我希望它能给你一些关于在哪里寻找正确答案的想法。

【讨论】:

  • 我已关闭应用程序(即从后台删除)并打开一个新副本。它显示图像没有任何问题。但我必须说,它只发生在缓存页面上。所有其他图像在其他在线页面上根本没有显示。有什么想法吗?
  • 我不需要任何身份验证来连接和检索图像。现在都是公共图像。
  • @Sampath 很高兴知道,我对此很好奇,将尝试缓存服务,看看是否能找到一些东西。如果你发现了什么,请分享:)
  • 太棒了。请试试那个缓存服务并告诉我。我刚刚在那个 API 上使用了这个简单的缓存服务(即Cache classic data)。 github.com/Nodonisko/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
  • 2016-12-13
  • 2019-10-23
  • 2023-02-04
  • 2016-09-14
相关资源
最近更新 更多