为什么Apache Cordova不支持大于50 MB的数据库?

时间:2017-04-05 12:26:36

标签: android ios sqlite cordova cordova-plugins

offical Apache Cordova documentation描述了3种存储数据的方式:

  1. localStorage的
  2. WebSQL
  3. 索引资料
  4. 对于需要真实数据库的任何应用程序, LocalStorage 是不可选的:

      

    [LocalStorage]只存储字符串,因此必须序列化复杂的数据结构,并且只能存储可序列化的数据。

    WebSQL 缺乏大型数据库的可能性,尽管我的个人经验表明它们的大小通常相当于50MB。

      

    有限的总存储量(通常约为5MB)。

    IndexedDB 缺乏iOS支持,据说也有大约5MB的限制,虽然我的经验表明它依赖于浏览器。

      

    iOS不支持。   有限的总存储量(通常约为5MB)。

    • 在没有使用插件的情况下使用Cordova 无法存储大型数据库这是真的吗?
    • 为什么不是Cordova的cordova-sqlite-plugin部分并且由Apache支持?

2 个答案:

答案 0 :(得分:0)

你需要看到不同的眼睛,我个人认为,世界各地的解决方案Cordova用于小型存储,与为一个REST API提供的服务器同步,运行Mysql,Mongo或其他服务数据库。

如果你需要在项目中存储大数据库文件,你可以使用插件文件:https://www.npmjs.com/package/cordova-plugin-file

您只需使用相同的LocalStorage逻辑,但在项目中保存文本文件

答案 1 :(得分:0)

我们只使用目前维护的平台和核心插件进行了大量工作。我们欢迎任何想加入,帮助和承诺项目并帮助社区的人。

无论是在其中一个cordova repos还是其他地方发生,cordova提交者都会很乐意将用户发送到一个可靠的插件。

在很大程度上,我也同意@diogomachado,因为你/可能不需要在用户的设备上存储那么多数据,还有其他方法(fileAPI)。许多现代项目已经从整个关系模型中脱离了sql,并且不需要原子事务。 你有几张桌子?

此外,还没有使用它,但iOS支持iOS 10中的IndexedDB。 http://caniuse.com/#feat=indexeddb

如果您想提供帮助,请点击此处了解更多关于为cordova做出贡献的信息。 https://cordova.apache.org/contribute/