HarmonyOS AppStorage是否可以完全替代preferences的场景

AppStorage和preferences都可以在逻辑层使用,区别是AppStorage还可以绑定UI状态,那么如果不考虑UI的情况下,且存储的数据都很轻量,AppStorage是否可以替代所有preferences的应用场景?既然有AppStorage了,为什么还会有preferences

HarmonyOS
2024-08-02 15:59:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
她是猫鳄鱼

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

分享
微博
QQ
微信
回复
2024-08-02 21:52:10
相关问题
HarmonyOS scheme是否替代方案
404浏览 • 1回复 待解决
HarmonyOS toggle组件是否支持完全受控
450浏览 • 0回复 待解决
computeScroll() 方法鸿蒙有什么可以替代
5715浏览 • 1回复 待解决
图像处理库是否替代解决方案
379浏览 • 0回复 待解决
ImageReader 在HarmonyOS替代方案
1616浏览 • 1回复 待解决
PersistentStorage与Preferences异同
555浏览 • 1回复 待解决
HarmonyOS AppStorage不可调用
368浏览 • 1回复 待解决
HarmonyOS 使用preferences存储限制
411浏览 • 1回复 待解决