HarmonyOS 鸿蒙Next:PersistentStorage与Preferences键值对持久化存储的适用场景都有哪些区别?

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:PersistentStorage与Preferences键值对持久化存储的适用场景都有哪些区别?

PersistentStorage与Preferences两者都可以实现键值对的持久化存储,

想问一下两者分别都适用于哪些业务场景?区别是啥?



关于HarmonyOS 鸿蒙Next:PersistentStorage与Preferences键值对持久化存储的适用场景都有哪些区别?的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

2 回复

楼主你好,据我所知,使用PersistentStorage的限制条件如下所示

持久化数据是一个相对缓慢的操作,应用程序应避免以下情况:

Ⅰ:持久化大型数据集。

Ⅱ:持久化经常变化的变量。

当持久化更改的过程变得太繁重时,PersistentStorage实现可能会限制持久化属性更改的频率。

PersistentStorage只能在UI页面内使用,否则将无法持久化数据。PersistentStorage的持久化变量最好是小于2kb的数据,不要大量的数据持久化,因为PersistentStorage写入磁盘的操作是同步的,大量的数据本地化读写会同步在UI线程中执行,影响UI渲染性能。如果需要存储大量的数据,建议使用数据库api。

1.PersistentStorage是同步写入磁盘;Preferences是全量加载进内存。

2.PersistentStorage的持久化变量最好是小于2kb的数据;Preferences存储的数据不超过一万条,Key键为string类型,要求非空且长度不超过80个字节,如果Value值为string类型,长度不超过8192个字节。3.PersistentStorage只能在UI页面内使用。

4.PersistentStorage不要大量的数据持久化,因为PersistentStorage写入磁盘的操作是同步的,大量的数据本地化读写会同步在UI线程中执行,影响UI渲染性能。如果需要存储大量的数据,建议使用数据库api。

5.PersistentStorage存储AppStorage属性UI状态,以确保这些属性在应用程序重新启动时的值与应用程序关闭时的值相同;Preferences一般为应用保存用户的个性化设置(字体大小,是否开启夜间模式)等。

回到顶部