HarmonyOS 鸿蒙Next 使用ATKTS对protobuf encode导致界面卡顿

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用ATKTS对protobuf encode导致界面卡顿

当获取到protobuf进行decode时,会长时间阻塞主线程;
1、大数据量protobuf 进行解析时 不阻塞主线程
2、因为有多个接口,如果在解决问题1的情况也,也可使用promise进行包装,方便其他接口+protobuf接口解析完成后再处理后续的业务

2 回复

ArkTS支持异步并发和多线程并发。

Promise和async/await提供异步并发能力,适用于单次I/O任务的开发场景。详细请参见异步并发概述。 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/async-concurrency-overview-V5

TaskPool和Worker提供多线程并发能力,适用于CPU密集型任务、I/O密集型任务和同步任务等并发场景。详细请参见多线程并发概述。 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/multi-thread-concurrency-overview-V5

针对HarmonyOS 鸿蒙Next使用ATKTS对protobuf encode导致界面卡顿的问题,以下是一些专业的分析建议:

  1. 性能分析:首先,利用DevEco Studio中的性能分析工具(如AppAnalyzer)来检测应用的具体性能表现,特别是关注encode过程中的CPU和内存使用情况,以确定是否存在资源瓶颈。
  2. 优化编码过程:考虑优化protobuf的encode逻辑,例如减少不必要的数据复制,或者调整encode的策略以减少计算复杂度。
  3. 异步处理:如果encode过程耗时较长,可以考虑将其放在后台线程或异步任务中执行,避免阻塞UI线程。
  4. 硬件加速:如果设备支持,可以考虑利用硬件加速来减轻CPU的负担,提高encode效率。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部