android - 实时图像也在离线(无互联网)模式下显示 - Ionic 3 App

标签 android image caching ionic2 ionic3

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

更新:

通过断开连接方式:在打开应用程序的情况下断开与互联网的连接

用例:

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

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

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

最佳答案

我从来没有使用过这种缓存服务,也没有遇到过这种行为,但这是我可以分享的:

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

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

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

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

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

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

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

关于android - 实时图像也在离线(无互联网)模式下显示 - Ionic 3 App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468063/

相关文章:

java - 加载 OpenGL 纹理的 Android 安全方法

android - 如何在现有 Activity 之间切换?

android - 缓存数据android应用程序的最佳方法

android - 如果在 Android 中找到或找不到 Dynamodb,如何获取 getitem

android - 将 ActionBar 添加到 Android Studio 中的默认 Google map Activity 模板

c# - 在 ASP、C# 和 CSS 中更改图像大小

php - 从 Wordpress 媒体库获取单个特定图像

css - 我有一张背景图片,即使它显示在桌面上也不会在移动设备上显示

android - 改造离线请求和响应

django - 在 Django 中缓存半动态 View