iOS/Android WebView中的本地存储持久性

4

我在开发混合应用程序的HTML端时,发现在iOS/Android的Web视图中,HTML5的本地存储数据似乎不太持久。为了保存我需要的数据,我使用本地存储。我没有清除本地存储,只进行读写操作。但经过几次测试,发现本地存储偶尔会被清除。我在其他版本的Android和iOS上进行了测试,虽然这种情况很少发生,但仍然存在且不一致。我在同一版本的Android 4.4上测试了应用程序(不同的手机型号)。第一个手机没有出现问题,而另一个手机在关闭应用程序并在几个小时后重新打开时出现了问题。iOS也是如此。我是唯一遇到这个问题的人吗?


请查看以下链接:https://dev59.com/nGsz5IYBdhLWcg3wpZny#39097517 - Iceman
这个问题的简单解决方案,无需使用“Cordova”:“webView.getSettings().setDomStorageEnabled(true);”。 - kennymuse
3个回答

0

我从未经历过这样的事情。然而,我的建议是你可以尝试在数据成功写入之前读取数据。另一件我能想到的事情是你的HTML链接可能被更改了。

我假设你使用的是PhoneGap/Cordova。你可以下载GapDebug来查找发生了什么事情。

顺便说一下,我制作了一个小型库来缓存数据。我在我的最后一个混合应用程序中使用它来存储一些用户数据。如果问题是你的Webview包装器,那么它就没用了。但如果问题是你的JS代码,它可能会让你的生活更轻松。

在这里查看: cacheJS

或者如果你想阅读我的博客: 使用Javascript缓存你的数据


-1

我在一个PhoneGap应用程序中观察到了你所说的问题。

你说这很罕见,也不一致,有时候当你关闭应用程序并在几个小时后重新启动它时会发生。

因此,这可能是由于cookie引起的。我在PhoneGap应用程序中看到,在一段时间间隔后,两个平台的cookie都被清除或会话已过期。然而,这取决于您的应用程序架构。

因此,请检查应用程序的会话过期时间,并确保cookie未被清除。


这没有意义;本地存储和Cookie是不同的东西。 - Mark Amery

-2

我从来没有遇到过像这样的问题,我们也使用Android 4.4与Cordova。我们使用store.js作为本地存储API的轻量级抽象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接