鸿蒙Next持久化存储PersistentStorage用法总结

鸿蒙Next持久化存储PersistentStorage用法总结

💡 原文中文,约2500字,阅读约需6分钟。
📝

内容提要

PersistentStorage是一个单例对象,用于持久化AppStorage属性,确保应用重启后属性值不变。支持简单类型和可JSON化对象,但限制嵌套对象和大型数据集。需在UI初始化后调用,支持联合类型、Date、Map和Set等。通过AppStorage与PersistentStorage双向同步,确保数据一致性。

🎯

关键要点

  • PersistentStorage是一个单例对象,用于持久化AppStorage属性,确保应用重启后属性值不变。

  • 支持简单类型和可JSON化对象,但不支持嵌套对象和大型数据集。

  • 持久化操作需在UI初始化后调用,避免在初始化前调用导致失败。

  • 持久化数据相对缓慢,建议持久化变量小于2kb,避免影响UI渲染性能。

  • 使用PersistentStorage.persistProp初始化属性,并通过AppStorage获取对应属性。

  • 在PersistentStorage之前访问AppStorage中的属性可能导致值丢失。

  • 开发者可判断是否覆盖PersistentStorage中的值,决定是否调用AppStorage接口修改值。

  • 支持联合类型、Date、Map和Set等类型的持久化存储。

  • 通过@StorageLink实现双向绑定,确保视图刷新和数据持久化。

延伸问答

PersistentStorage的主要功能是什么?

PersistentStorage用于持久化AppStorage属性,确保应用重启后属性值不变。

PersistentStorage支持哪些数据类型?

支持简单类型、可JSON化对象、联合类型、Date、Map和Set等,但不支持嵌套对象和大型数据集。

在什么时机调用PersistentStorage的持久化操作?

持久化操作需在UI初始化成功后调用,早于该时机调用会导致失败。

如何初始化PersistentStorage中的属性?

使用PersistentStorage.persistProp('属性名', 值);来初始化属性。

PersistentStorage与AppStorage之间是如何同步的?

AppStorage中的更改会自动同步到PersistentStorage,二者建立双向同步。

使用PersistentStorage时有什么性能限制?

持久化数据相对缓慢,建议持久化变量小于2kb,以避免影响UI渲染性能。

🏷️

标签

➡️

继续阅读