带有sqlite的pouchdb上的“大”附件冻结了

Posted

技术标签:

【中文标题】带有sqlite的pouchdb上的“大”附件冻结了【英文标题】:"big" attachement over pouchdb with sqlite froze 【发布时间】:2018-10-13 11:05:40 【问题描述】:

android 8 设备上使用带有 Cordova 的 PouchDB(没有人行横道插件)时,getAttachement 永远不会回答大于 1 或 2MB 的文件。 “从不回答”是指我的承诺永远不会解决(成功或失败)。仅供参考:微小的附件可以完美运行。

版本:

android:8(在 Galaxy s8 上) cordova: 8(使用 android 平台 6.4.0) cordova-plugin-sqlite-2: 1.0.4 pouchdb-adapter-cordova-sqlite:2.0.3 pouchdb:6.4.3

这个请求是这样的:PouchDb.get(id,attachments: true) not returning data on Android

我的声誉不足以对其发表评论,添加可能有助于某些人理解/复制它的细节。所以请不要将其标记为“重复”;)

【问题讨论】:

你试过没有 sqlite 适配器吗?我有同样的问题,去 indexeddb 是我摆脱它的方法。 感谢提示,但我需要使用 sqlite,因为我无法承受其他可用数据库的大小限制。 实际上大小限制有点混乱,很难知道,我终于明白indexeddb实际上是为了存储大量数据而做的,对于最近的浏览器,大小限制是由一个固定的配额(Firefox 中剩余可用空间的 50%)。似乎 indexeddb 改进得很快,也许这就是文档如此混乱的原因..?这里有个问题:forum.ionicframework.com/t/… 谢谢你,我知道对此有更好的看法。但是这个未解决的问题:pouchdb issue 让我对我的 sqlite 方向感到满意。 (+事实上,一旦项目完成功能,我也会尝试在 ios 上运行它。生产针对两个平台。 对于任何对答案感兴趣的人,我在 pouchdb 存储库 (here) 上打开了一个问题。一旦我有一个答案,我会发布一个答案;) 【参考方案1】:

我有最终答案:这是一个已知的 android 限制,与已回答的问题 here 相关。

【讨论】:

以上是关于带有sqlite的pouchdb上的“大”附件冻结了的主要内容,如果未能解决你的问题,请参考以下文章

Ionic PouchDb Sqlite 插件问题

构建一个支持 React Web 应用程序和问题的 SQlite/PouchDB?

ionic 上的 Pouchdb 和 Cordova-sqlcipher-adapter:有可能吗?

带有 SQLite 数据库的 Cordova 应用程序在 iOS 中首次运行后冻结,但在 Android 中运行良好

在React App中使用或不使用PouchDB加载预构建的SQlite数据库的正确方法是什么

pouchdb 无法在 ios Safari 上运行