Hive - flutter:关闭应用程序时是否删除了框?
Hive - flutter: are boxes deleted when app is closed?
我需要一种在我的 Flutter 项目中存储简单数据的方法,我正在考虑使用 Hive flutter。
我不太明白的是,当用户关闭 app/website.
时,存储在框中的数据是否被清除(如从磁盘中删除)
Before your application exits, you should call Hive.close() to close all open boxes. Don't worry if the app is killed before you close Hive, it doesn't matter.
这有点模棱两可。
所以:关闭app/website时是否清除了存储在框中的数据?如果没有,我该如何手动清除它?
当您关闭一个盒子时,hive 将盒子中的数据保存到本地存储文件(“长期内存”)并释放缓存(“短期内存”)以用于其他内容。您不会丢失您的应用程序数据。关闭盒子也不是绝对必要的,Hive 会在退出时自行关闭盒子。
Hive 的常见问题解答有更多详细信息:https://docs.hivedb.dev/#/more/faq
如果您想清除给定 Box box = Hive.box("box_name")
中的数据,您可以:
- 删除单个条目:
box.delete("entry_key")
- 删除所有条目:
box.deleteAll(box.keys)
- 删除整个框:
box.deleteFromDisk()
或Hive.deleteBoxFromDisk("box_name")
- 删除所有(打开的)框:
Hive.deleteFromDisk()
请注意,虽然浏览器和应用的行为相同,但实现方式不同:https://docs.hivedb.dev/#/more/browser
我需要一种在我的 Flutter 项目中存储简单数据的方法,我正在考虑使用 Hive flutter。
我不太明白的是,当用户关闭 app/website.
时,存储在框中的数据是否被清除(如从磁盘中删除)Before your application exits, you should call Hive.close() to close all open boxes. Don't worry if the app is killed before you close Hive, it doesn't matter.
这有点模棱两可。
所以:关闭app/website时是否清除了存储在框中的数据?如果没有,我该如何手动清除它?
当您关闭一个盒子时,hive 将盒子中的数据保存到本地存储文件(“长期内存”)并释放缓存(“短期内存”)以用于其他内容。您不会丢失您的应用程序数据。关闭盒子也不是绝对必要的,Hive 会在退出时自行关闭盒子。 Hive 的常见问题解答有更多详细信息:https://docs.hivedb.dev/#/more/faq
如果您想清除给定 Box box = Hive.box("box_name")
中的数据,您可以:
- 删除单个条目:
box.delete("entry_key")
- 删除所有条目:
box.deleteAll(box.keys)
- 删除整个框:
box.deleteFromDisk()
或Hive.deleteBoxFromDisk("box_name")
- 删除所有(打开的)框:
Hive.deleteFromDisk()
请注意,虽然浏览器和应用的行为相同,但实现方式不同:https://docs.hivedb.dev/#/more/browser