移动到人行横道时,本地存储不会迁移

时间:2018-02-09 10:05:57

标签: javascript cordova cordova-plugins phonegap crosswalk

在我的项目中添加人行横道(2.4)时,不会迁移本地存储,如“在两者之间切换时需要手动迁移本地数据”(注意:这在Crosswalk 15中已修复)“

我曾尝试从原生网页浏览手动迁移本地存储,但是人行横道似乎会覆盖它或其他东西,至少目前还不清楚该怎么做。

我知道项目没有得到维护,但有人可能会帮助或指出我正确的方向。由于本地webview中的性能和可用内存不佳,我们的项目现在确实依赖于它。

1 个答案:

答案 0 :(得分:2)

您无法使用JS从Cordova应用程序中手动迁移数据 - 迁移需要本地完成:一旦Crosswalk插件安装到您的Cordova项目,您的应用程序将使用Crosswalk Webview而不是Android系统Webview,因此本地存储数据存储在完全不同的位置,您没有引用原始位置:

  • 系统Webview(Android 4.4+):/data/data/[package_id]/Local Storage
  • 系统Webview(Android 4.3及更低版本):/data/data/[package_id]/localstorage
  • 人行横道:/data/data/[package_id/app_xwalkcore/Default/Local Storage

A commit已添加到Crosswalk,以自动执行从系统webview位置到Crosswalk位置的所有本地持久Webview数据(包括本地存储)的迁移,以便在将Crosswalk添加到应用程序时保留用户数据之前已将数据存储在系统Webview中。查看commit history,这使其成为Crosswalk 24.53.592.0,因此更新到该版本或更高版本应该引入本机迁移代码。

如果无法更新Crosswalk版本,您可以随时根据我的cordova-plugin-crosswalk-data-migration创建自己的迁移插件。 但是,由于我的插件旨在将 Crosswalk迁移回系统Webview,因此您希望向其他方向迁移。

相关问题