Chrome 仅在关闭时清除存储

Chrome only clears storage on closing

我正在尝试使用缓存来缓存文件 api 我们的用例要求我们缓存大约 50 - 100Mb。

我使用 web worker 来同步文件,并使用 service worker 来为它们提供服务。当有新版本可用时,我想删除所有旧文件并同步新文件。

清除我使用的整个缓存:

# (typescript)
return caches.delete(CacheFileStorage.CACHE_KEY).then(() => ...);

并删除我使用的单个文件(其中 this.cache 是从 caches.open() 返回的实例:

# (typescript)
return this.cache.delete(filename).then(() => ...);

看起来缓存已被清除,但 storage.estimate 在标签页关闭之前不会重置。这样做的问题是应用程序在受控环境中 运行 并且会 运行 几个月(没有刷新)。

使用 devtools 清除确实会立即重置配额,所以我检查了 github 中的代码,但这看起来像 api 我无法使用 (DOMStorageModel.js).

所以我的问题是,有人有这方面的经验吗?我是不是做错了什么,或者 chrome 会定期/在达到配额时重置此配额?

已在版本 65.0.3320.0 中修复(目前处于 beta 分支)。 我已经测试过了,这个修复解决了我的问题!

(另见:Issue 801024