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 List嵌套waterflow滑动
283浏览 • 1回复 待解决
Web嵌套滑动怎么办?
243浏览 • 1回复 待解决
关于启动慢问题首帧分析
419浏览 • 1回复 待解决
自定义组件,怎么办啊?
323浏览 • 1回复 待解决
HarmonyOS viewmodel如何与ui同步
465浏览 • 1回复 待解决
Ark UI 和Java UI 可以混合开发
4493浏览 • 1回复 待解决
HarmonyOS 有趋势图实现方法
230浏览 • 1回复 待解决
ListContainer加载大量数据白屏并且UI
5543浏览 • 1回复 待解决
请问Ark UI有类似插槽概念
3443浏览 • 1回复 待解决