HarmonyOS 鸿蒙Next:想问问appstorage和用户首选项有何区别,什么场景用哪个

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

HarmonyOS 鸿蒙Next:想问问appstorage和用户首选项有何区别,什么场景用哪个

想问问appstorage和用户首选项有何区别,什么场景用哪个

2 回复
AppStorage不可以完全替代preferences。

AppStorage是个单例,是由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储,关闭应用的时候会清空。通常和PersistentStorage配合使用,通过PersistentStorage持久化到本地,以确保这些属性在应用程序重新启动时的值与应用程序关闭时的值相同。

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一般为应用保存用户的个性化设置(字体大小,是否开启夜间模式)等。

数据库是为了存储大量数据的,不同的api都有自己适合的场景,多样性是为了更灵活的开发自己应用。鸿蒙系统还是个跨设备的系统,面对的使用场景也更加复杂,谢谢!

更多关于HarmonyOS 鸿蒙Next:想问问appstorage和用户首选项有何区别,什么场景用哪个的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,appStorage与用户首选项(User Preferences)是两种不同的数据存储机制,各自适用于不同的场景。

appStorage主要用于存储应用内部数据,如临时变量、应用状态等。这些数据在应用生命周期内有效,并且通常是结构化的,可以通过键值对或者更复杂的数据结构进行存储。appStorage适用于需要频繁读写、数据量较大且与应用逻辑紧密相关的数据场景。

用户首选项则用于存储用户的个性化设置,如应用的主题、字体大小、是否开启某项功能等。这些数据通常是轻量级的,且用户可能会在多个会话或设备间保持一致性。用户首选项适用于存储用户偏好,这些数据通常会在应用重启或设备更换时保持不变。

在具体使用时,如果数据是应用逻辑所必需的、结构化的且需要频繁读写的,则选择appStorage;如果数据是用户可配置的、轻量级的且需要跨会话或设备保持一致的,则选择用户首选项。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部