代码之家  ›  专栏  ›  技术社区  ›  ntaso

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

  •  8
  • ntaso  · 技术社区  · 6 年前

    最近Android Chrome对IndexedDB的配额管理是否有变化?我正在爱奥尼亚3 Cordova应用程序中使用PockDB和adapter IndexedDB。在过去的6个月里,一切都很顺利。但在过去的5天里,我收到了大量关于应用程序中数据加载不正确的投诉。我的应用程序只需要3-4 MB的数据。以下是我目前所知:

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

    我还怀疑,也许人们在过去几天里拍了更多的照片,因为天气很好,导致可用磁盘空间减少,从而导致报告的错误激增。但我仍然觉得这是一个奇怪的解释。

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

    更新2018-05-03:

    我还想到了一些事情:

    • 设备几乎总是需要更多1 GB的免费内部存储。500MB已经不够了
    • 如果您计划使用PouchDB迁移到SQLite,请阅读此问题的注释。附件可能有问题。
    • 如果您使用的是离子存储(基于LocalFow),则在安装插件后,它会自动切换到SQLite。在我的例子中,这导致了数据库错误,我不得不切换 drivers 对于爱奥尼亚的存储: driverOrder: ['localstorage', 'indexeddb', 'sqlite', 'websql']
    2 回复  |  直到 6 年前
        1
  •  3
  •   Joshua Bell    6 年前
        2
  •  2
  •   nopum    6 年前

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

    对于像这样一个严重的bug,应该立即修复并发布。5月没有其他beta版本,M67将于5月29日发布( https://www.chromium.org/developers/calendar )。