HarmonyOS Preferences的同步方法会造成UI卡顿么?

dataPreferences.getPreferencesSync(context, options); 
dataPreferences.putSync(key, value); 
preferences.getSync(key, defValue);

在开发中,更推荐使用同步方法还是异步方法?使用同步方法有什么弊端?

1.初始化Preferences时使用getPreferencesSync方法,是不是需要把文件从设备读取到内存?应用后期文件比较大,读取会慢么?

2.那么getSync是否是直接从内存中读取?其实不会有什么耗时?

3.putSync方法同理。调用flush的时候,才是异步存储到了SD卡?

使用异步方法,是否由于是Promise的原因,Promise切换到其他IO线程执行了?然后在通过消息发送回主线程,导致获取一个值要几毫秒?

HarmonyOS
2024-11-01 12:15:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

​Preferences当前性能较优,正常情况下不会造成卡顿。

当前更推荐同步方法,相比异步,同步更快(异步频繁调用可能出现排队等情况)

1、getPreferencesSync方法是需要把文件从设备读取到内存,文件不是特别大的话,读取不会有太大影响。

2、getSync是直接从内存中读取,基本不会有什么耗时

3、putSync方法同理。调用flush的时候,才会持久化到文件中。

异步方法Promise会切换到其他线程执行,然后在通过消息发送回主线程。​

分享
微博
QQ
微信
回复
2024-11-01 15:02:36
相关问题
HarmonyOS 手机系统升级后ui变得
123浏览 • 1回复 待解决
HarmonyOS 页面滑动
289浏览 • 1回复 待解决
HarmonyOS 横竖屏翻转
128浏览 • 1回复 待解决
HarmonyOS List嵌套waterflow滑动
514浏览 • 1回复 待解决
HarmonyOS 页面嵌套滑动时
119浏览 • 1回复 待解决
HarmonyOS WebView加载H5
345浏览 • 1回复 待解决
HarmonyOS LazyForEach多层级数据性能
267浏览 • 1回复 待解决
Web嵌套滑动怎么办?
448浏览 • 1回复 待解决
关于启动慢问题首帧分析
676浏览 • 1回复 待解决
自定义组件,怎么办啊?
547浏览 • 1回复 待解决