Android上的Chrome:IndexedDB的授权配额突然几乎为0

时间:2018-04-25 09:58:58

标签: android cordova google-chrome indexeddb pouchdb

最近Android Chrome的IndexedDB配额管理有变化吗?我在Ionic 3 Cordova应用程序中使用带有适配器IndexedDB的PouchDB。在过去的6个月里,它进展顺利。但是在过去的5天内,我收到的关于数据未在应用中正确加载的投诉显着增加。我的应用只需要3-4 MB的数据。这是我目前所知道的:

  • 问题仅发生在内部存储上磁盘空间不足的情况下(即使应用程序安装在SD卡上)
  • 受影响的设备几乎总是只有16GB的内部磁盘空间并且似乎一直都是
  • 释放磁盘空间可解决问题
  • 当设备运行低于150-250MB左右时,IndexedDB的授予的配额似乎有一个明显的截止。如果释放额外的100-200MB,则授予的配额突然跳升到50MB或更多
  • 最近Chrome或Android出现了这个问题,因为我的应用最近没有收到更新,甚至影响了只有几KB数据的新用户。

我还怀疑也许人们在最后几天拍摄了更多照片,因为天气非常好,导致可用磁盘空间减少,因此报告的错误数量激增。但我仍然觉得这是一个奇怪的解释。

其他人在他们的应用程序中发现了类似的问题?除了切换到Cordova-SQLite之外的任何解决方案?

更新2018-05-03:

我想了几件事:

  • 设备几乎总是需要更多1 GB的免费内部存储空间。 500 MB已经不够了
  • 如果您计划使用PouchDB迁移到SQLite,请阅读此问题的评论。附件可能存在问题。
  • 如果您正在使用Ionic Storage(基于LocalForage),它将在您安装插件后自动切换到SQLite。在我的情况下,这导致数据库错误,我不得不切换{I}的存储driversdriverOrder: ['localstorage', 'indexeddb', 'sqlite', 'websql']

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

真的有一个错误。它已修复并合并,但尚未发布(https://chromium.googlesource.com/chromium/src/+/73b18e372a83137f1198a350973225c4c145ceb6%5E%21/)。

对于像这样的严重错误,它应该被修复并几乎立即释放。 5月和5月没有其他测试版,它将于5月29日发布(https://www.chromium.org/developers/calendar)。