3

当用户注销时,我正在尝试清除应用程序中 webview 使用的本地存储。我正在手动删除保存本地存储的文件夹,并且能够验证它在用户注销时是否被删除。但是,当他们重新登录时,即使没有本地存储文件,webview 似乎仍然可以访问本地存储。如果我在注销后手动终止进程,它会按预期工作,但我需要这种行为而不终止应用程序。

是否可以清除应用程序使用的 RAM,这是 vebview 的已知错误,还是有其他方法可以解决这个问题?

我已尝试删除 webview 和 webviewCache 数据库,删除所有缓存文件夹,删除应用程序使用的文件,但本地存储仍然存在,因为注销时应用程序未重置。

4

2 回答 2

12

我终于找到了我要找的东西!

由于我们在应用程序中有一种内置浏览器,因此可以加载许多网页并将内容保存到 localStorage。调用localStorage.clear()或未loadUrl("javascript:localStorage.clear()")正确清除所有网页等的所有缓存。

最终起作用的行为是使用下面的WebStorage.deleteAllData()链接。我也在删除文件(因为 kitkat 默认保存在 app_webview 中,在此之前您提供路径)

http://developer.android.com/reference/android/webkit/WebStorage.html#deleteAllData()

于 2015-11-18T19:27:47.100 回答
1

尝试调用localStorage.clear()JavaScript 来清除 localStorage,而不是WebView通过删除它管理的文件来胡闹。

于 2013-02-01T20:07:19.410 回答