PhoneGap/iOS上的SQLite数据库 - 可能超过5mb

Sas*_*cha 7 sqlite ipad ios cordova

我对在iOS上的Phonegap-Native-App中使用SQLite的局限性感到有些困惑.

您可以阅读很多关于5mb存储限制的帖子以及您的Ipad可以要求您增加存储空间的事实.

现在,我已经设法使用通常的Phonegap-Storage-API将近7000行插入到我的SQLite数据库中.相应的db-file大小为26 MB.以下select语句"select*from"工作并显示db的内容.我已经在模拟器和设备上完成了这项工作.我没有得到增加存储空间的问题.

怎么可能?我误解了什么吗?Phonegap中的SQLite dbs真的有5mb的限制吗?我正在使用Phonegap 1.2和iOS 5.

Sam*_*uel 10

您可以使用带有phonegap插件的原生SQLite DB(与WebSQL相同),您将没有任何限制.在iOS5.1中,WebSQL被认为是可以随时删除的临时数据...该插件将数据库保存在Document文件夹中,这意味着数据库不会被删除并由iCloud保存.

这是Native SQLite phonegap插件:https://github.com/davibe/Phonegap-SQLitePlugin 关于这个插件,WebSQL API之间存在一些差异,这里有一个适配器:https: //gist.github.com/2009518

您还应该将旧的WebSQL db文件(存储在Library/WebKit或Caches目录中)迁移到Document文件夹.这是一个代码:https: //gist.github.com/2009491

如果数据很重要,您应该将其保存到服务器.我写了一个小的lib来将SQlite DB同步到服务器:https: //github.com/orbitaloop/WebSqlSync


Sas*_*cha 3

我自己发现:

它成功打开第一个事务并在该唯一事务中一次插入 7000 条记录。

如果我将插入拆分为单独的事务,假设每个事务 500 条记录,则 5 MB 的限制就会生效。PhoneGap 没有说什么,它只是不插入记录。