HarmonyOS性能优化——并发能力使用

并发能力使用

应用中的并发优化是在响应用户操作时,确保主线程仅执行UI绘制任务,将非UI的耗时任务分配给其他线程或延迟处理。通过多线程异步技术,充分利用多核处理器的能力,提高应用程序的并发处理能力,减少用户等待时间,确保用户界面的响应流畅。

使用多线程能力

创建自定义组件后,在执行build函数前,将先调用aboutToAppear()生命周期回调函数。如果在此函数中执行耗时操作,将阻塞UI渲染并增加主线程负担。对于不需等待结果的高耗时任务,可以使用多线程处理,通过并发方式避免主线程阻塞,或者将耗时操作改为异步并发或延后处理,确保主线程优先处理组件绘制逻辑。ArkTS提供了TaskPool和Worker两种多线程并发方案,具体对比请参阅TaskPool和Worker的对比实践

使用异步能力

Promise和async/await提供异步并发能力,是标准的JS异步语法。异步代码会被挂起并在之后继续执行,同一时间只有一段代码执行,适用于单次I/O任务的场景开发,例如一次网络请求、一次文件读写等操作。无需另外启动线程执行。可以把耗时操作的执行从同步执行改为异步或者延后执行,比如使用setTimeOut执行耗时操作实现应用冷启动优化

多线程间通信

对象/方法在跨线程传递时均会涉及到其序列化和反序列化的过程。当对象本身较大且结构复杂时,序列化/反序列化的耗时就会增加,从而影响应用运行的整体性能。使用异步能力Sendable对象可以实现数据在多线程间的引用传递,具体使用场景请参阅Sendable使用场景案例分析

相关推荐
李游Leo7 小时前
HarmonyOS 7 端侧 AI 视觉能力实战 04:给图片增加人脸检测能力
harmonyos
ChinaDragon7 小时前
HarmonyOS:应用程序包管理模块(获取当前应用信息)
harmonyos
Latte Moments开发9 小时前
Harmony鸿蒙实战开发-事件提醒app「事件名称/描述、提醒日期、提醒时长、延迟提醒次数、延迟提醒事件间隔」➕⏰声音【源码在文末】
华为·harmonyos
星栖与芯9 小时前
LiteOS-M 切换汇编逐行图解(2):指令·异常机制·全景表
stm32·单片机·嵌入式硬件·harmonyos·鸿蒙系统
OH_TPC10 小时前
【鸿蒙优选三方库】@react-native-ohos/react-native-svg:SVG 矢量图形渲染组件
华为·harmonyos·鸿蒙
李游Leo12 小时前
HarmonyOS 7 实战开发 01:搭建内容工作台基础框架
harmonyos
大雷神14 小时前
【共创稿事节】HarmonyOS ArkGraphics 3D实操——给智能音箱做一间材质实验室
harmonyos
Cx330❀15 小时前
【Linux网络】网络层 IP 协议:从网段划分到内核源码解析
大数据·linux·服务器·网络·tcp/ip·性能优化·langchain
马剑威(威哥爱编程)15 小时前
【共创稿事节】HarmonyOS 7 Agent A2A 实战:让日程智能体和打车智能体自己谈成一单
pytorch·深度学习·harmonyos
yume_sibai15 小时前
12-Rust 性能优化指南(性能分析 + 内存优化 + SIMD + 并发优化 + 编译器优化 + 基准测试)
开发语言·性能优化·rust