PersistentStorage与Preferences的异同

PersistentStorage与Preferences两者都可以实现键值对的持久化存储,请问两者分别都适用于哪些业务场景?

HarmonyOS
2024-08-02 18:02:12
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
好难的昵称

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

分享
微博
QQ
微信
回复
2024-08-02 22:04:12
相关问题
PreferencesPersistentStorage区别
400浏览 • 0回复 待解决
TaskPool和Worker异同
2080浏览 • 1回复 待解决
TaskPool和Worker之间异同点是什么
509浏览 • 1回复 待解决
PersistentStorage怎么存进去
1619浏览 • 1回复 待解决
preferences:15500000
66浏览 • 1回复 待解决
Preferences不起作用
4048浏览 • 1回复 待解决
PersistentStorage持久化存储问题
282浏览 • 0回复 待解决
HarmonyOS 使用preferences存储限制
246浏览 • 1回复 待解决
ArkTS文件和TS文件之间有何异同
716浏览 • 1回复 待解决
HarmonyOS @ohos.data.preferences
348浏览 • 1回复 待解决
如何删除preferences中缓存数据?
327浏览 • 1回复 待解决
每次运行Preferences丢失
247浏览 • 1回复 待解决
Preferences获取不到值
8836浏览 • 2回复 待解决
preferences工具类封装
925浏览 • 1回复 待解决
如何获取Preferences实例?
227浏览 • 1回复 待解决
PersistentStorage实现手机号登录匹配
791浏览 • 1回复 待解决
dataPreferences.Preferences取不到数据
83浏览 • 0回复 待解决
HarmonyOS preferences.putSync 存储报错
207浏览 • 1回复 待解决