是否对Android Cordova / Phonegap应用程序的indexeddb施加了任何存储限制,就像localStorage一样(5MB)。如果是,那么我如何明确要求用户为数据库授予更多磁盘空间?我尝试找到一些插件,但失败了。我想存储JSON对象和文件Blob。
我在这里看到300MB已通过安全测试: https://stackoverflow.com/a/20675480/3134961
答案 0 :(得分: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)
答案 1 :(得分:0)
由于没有存储限制,最好通过cordova-sqlite-storage之类的插件将数据存储在本地SQLite数据库中。
还要注意,在iOS上,所有Webview数据(包括IndexedDB)都被视为缓存数据,这意味着如果设备上的存储空间不足,操作系统可以擦除它。