在网络(chrome)浏览器上使用 Flutter 和包 Hive 的 IndexedDB 的数据无法持久化

问题描述 投票:0回答:4

我正在使用 flutter 包 Hive 我遇到的问题是我的网站数据没有持久保存于 IndexedDB - web(chrome)

还有其他人遇到过 IndexedDB for chrome 中存储的数据不一致的情况吗? 除了使用 Hive 包之外,是否还有任何其他步骤,例如请求我必须实现的持久权限才能存储数据?

如有任何反馈,我们将不胜感激。

flutter google-chrome indexeddb persist
4个回答
3
投票

根据这个 github 问题,原因是在调试模式下,flutter 使用随机端口号运行 Chrome,因此存储始终是新鲜的。

要使端口号永久运行:

flutter run -d chrome --web-port 5555
    

0
投票
您甚至不需要请求持久存储权限就可以存储数据。持久存储只会让它更加耐用。因此,最有可能的是,数据一开始就没有被写入 IndexedDB。可能是您的代码或您正在使用的库存在问题。很难说没有看到你的代码,特别是因为我从未使用过 Hive。


0
投票
这是一个flutter项目,使用了hive包。它在移动设备上运行良好,但在 Chrome 中运行应用程序时,刷新后数据会丢失

初始加载和初始化后的数据

Data after the initial load and initialisation

刷新后出现空框

Empty boxes after refresh


0
投票
我遇到了类似的问题,所以我切换到 idb_shim 包。与 Hive 相比已经相当可靠了。

© www.soinside.com 2019 - 2024. All rights reserved.