将crosswalk (2.4)添加到我的项目中时,本地存储不会像“在两者之间切换时需要手动迁移本地数据”中所说的那样进行迁移(注意:这在Crosswalk 15中已修复)。
我尝试过从原生webview手动迁移本地存储,但是crosswalk似乎覆盖了它,至少不清楚该怎么做。
我知道这个项目没有得到维护,但也许有人能够帮助我或为我指明正确的方向。我们的项目现在确实依赖于它,因为原生webview的性能和可用内存都很差。
发布于 2018-02-09 20:54:35
您不能使用JS从Cordova应用程序中手动迁移数据-迁移需要在本地完成:一旦将Crosswalk插件安装到Cordova项目中,您的应用程序将使用Crosswalk Webview而不是Android系统Webview,因此本地存储数据存储在完全不同的位置,您没有对原始位置的引用:
/data/data/[package_id]/Local Storage
/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 back 迁移到系统Webview而设计的。
https://stackoverflow.com/questions/48703325
复制相似问题