Phonegap/Cordova Android 上的 Indexeddb 存储限制以及如何增加它?

Posted

技术标签:

【中文标题】Phonegap/Cordova Android 上的 Indexeddb 存储限制以及如何增加它?【英文标题】:Indexeddb storage limit on Phonegap/Cordova Android and how to increase it? 【发布时间】:2019-07-17 23:38:06 【问题描述】:

对于 android Cordova/Phonegap 应用程序的 indexeddb 是否有任何存储限制,例如 localStorage (5MB)。如果是,那么我如何明确要求用户为数据库授予更多磁盘空间?我试图找到一些插件但失败了。我想存储 JSON 对象和文件 blob。

我在这里读到,300MB 已经过安全测试: https://***.com/a/20675480/3134961

【问题讨论】:

【参考方案1】:

Raymond CAMDEN 写了一篇非常有趣的文章来指导你:https://www.raymondcamden.com/2015/04/17/indexeddb-and-limits

您也可以阅读:

共享池最多可达可用磁盘空间的 1/3。

应用已使用的存储空间包含在计算中 共享池;也就是说,计算是基于(可用 存储空间 + 应用正在使用的存储空间)* .333 .

每个应用最多可以拥有 20% 的共享池。

例如,如果总可用磁盘空间为 60 GB,则共享 池是 20 GB,应用程序最多可以有 4 GB。这是计算出来的 可用磁盘空间的 1/3(最多 20 GB)的 20%(最多 4 GB) (60 GB)。

(https://developer.chrome.com/apps/offline_storage#temporary)

【讨论】:

谢谢@enzo!确实很有帮助的文章【参考方案2】:

最好通过cordova-sqlite-storage 等插件将数据存储在本机 SQLite DB 中,因为没有存储限制。

另请注意,在 ios 上,所有 Webview 数据(包括 IndexedDB)都被视为缓存数据,这意味着如果设备上的存储空间不足,操作系统可以擦除它。

【讨论】:

以上是关于Phonegap/Cordova Android 上的 Indexeddb 存储限制以及如何增加它?的主要内容,如果未能解决你的问题,请参考以下文章

eclipse / Android上的Cordova phonegap

Phonegap/Cordova 无法下载到 Android 中的子文件夹

如何在 android webview 中实现 phonegap/cordova?

制作安全的 PhoneGap/Cordova 应用程序 (Android)

在 iOs 和 Android 的 PhoneGap/Cordova-app 中播放视频

Phonegap/Cordova Geolocation 不适用于 Android 4.0+,但适用于所有其他平台