PouchDB / SQLite索引崩溃 - 在IOS上需要大量内存

时间:2015-06-25 14:59:06

标签: sqlite cordova indexeddb web-sql pouchdb

简介

我已经使用PouchDB和Ionic和Cordova构建了一个IOS应用程序,但现在我没有使用数据库而无法看到解决方案...

SQLite的

Sqlite plugin并且同步工作得很好,但是一旦我想访问数据,PouchDB就会开始索引,这会使用大量内存和我的应用程序崩溃。 这是一个sampleApp,其中包含为感兴趣的助手准备的所有内容,以重现崩溃 SampleApp Github

的WebSQL

在WebSQL中,我甚至无法同步数据库,因为我得到了" QuotaExceededError"错误。有没有办法在IOS uiwebview中寻求更多空间?

索引资料

Indexedb isn't usable,导致错误太多。在IOS 9中它也不会更好

那么任何想法的想法或提示?

2 个答案:

答案 0 :(得分:1)

iOS上存储限制问题的解决方案确实是使用SQLite插件。 WebSQL上不能超过50MB。

  

Sqlite插件和同步工作得很好,但是一旦我想访问数据,PouchDB就会开始索引,它会占用大量内存而我的应用程序会崩溃。

你确定这是PouchDB的一个错误而不是SQLite插件吗?如果它在Objective-C中崩溃,它属于SQLite插件。如果它是JavaScript版本中的崩溃,它可能属于PouchDB。

无论哪种方式,如果您可以提供重现的测试,我们欢迎您在PouchDB Github问题页面或SQLite插件问题页面上发布错误报告。 :)

答案 1 :(得分:0)

关于WebSQL,请考虑以下事项: PouchDB limits

  

某些版本的Safari存在一个错误,它只允许您请求一次额外的存储空间,因此您需要预先请求所需的空间。 PouchDB允许您使用size选项执行此操作。

尝试预先分配大小,并分配您对该应用的最大期望。希望有所帮助。

祝你好运。