[HarmonyOS Next 性能] 鸿蒙性能优化 - 点击响应优化

打印 上一主题 下一主题

主题 925|帖子 925|积分 2775

响应优化概述

响应(Response)是指应用在运行中,由用户直接或间接做出一个举动请求,当程序担当了该请求,随即做出一系列运算,终极界面发生厘革的过程。简朴来说即用户发出指令、程序实行、设备表现厘革。
图1 点击响应起止点示意图


鸿蒙《应用性能体验发起》中,给出了应用或元服务启动响应时延应、完成时延,以及应用内点击响应时延应、完成时延的相干时间数据。

点击响应优化就是指通过分析响应阶段、优化应用性能、加速点击后页面的响应速度,使用户可以得到流畅的使用体验。开发者优化自己应用的点击响应速度,既满意产品功能的高性能要求,加强产品同质化竞争中的上风,又能不断提拔用户满意度。
问题分析

影响点击响应性能的因素有很多,借助DevEco Studio集成的相干分析工具(AppAnalyzer、DevEco Profiler Frame使命、ArkUI Inspector),可以收集大量的系统数据,自动实行重复使命,建立统一的优化标准和流程,淘汰个人差异和误使用的可能性,资助开发人员更好地相识性能瓶颈和优化潜力。在分析优化的过程中,可能用到以下工具中的一个或多个。
1、AppAnalyzer:
AppAnalyzer是DevEco Studio中提供的检测评分工具,用于测试并评价HarmonyOS应用或元服务的质量,能快速提供评估结果和改进发起,当前支持的测试类型包罗兼容性、性能、UX测试和最佳实践等,此中点击使用响应是性能类型中的一项检测规则,开发者可以使用该工具检测响应性能。 具体使用方法参考《应用与服务体检》。
2、Frame分析:
开发应用或服务过程中,假如发现有表单滑动不顺畅、页面交互延迟、动效不流畅等卡顿现象时,可以使用DevEco Profiler提供的Frame场景分析能力,录制卡顿过程中的关键数据举行分析,从而识别出导致卡顿丢帧的原因所在。此外,Frame使命窗口还集成了Time、CPU场景分析使命的功能,方便开发者在分析丢帧数据时同步对比同一时段的其他资源占用情况。 具体分析方法参考《Frame分析》。
3、ArkUI Inspector
ArkUI Inspector是DevEco Studio中提供用于查抄UI的工具,开发者可以借助它预览真机或模拟器中的UI效果,快速定位布局层级问题,也可以观察组件属性、不同组件之间的关系等。 具体的使用场景和使用参考《布局分析》。
优化方法

本章节先容了从UI优化、懒加载技能、并发优化、数据库调用优化、逻辑优化、资源开释优化到视觉感知优化等多个方面,为开发者提供全面的点击响应优化计谋和具体实现方法,旨在资助开发者提拔应用的使用响应速度和用户体验。具体技能简介如下:
1、UI优化


  • 淘汰嵌套层级 :通过克制冗余的嵌套和采用扁平化布局来优化布局的嵌套层级,淘汰节点数和合理使用布局组件,以提拔响应性能。
  • 渲染控制 :使用ArkUI提供的if/else条件渲染功能,根据应用状态控制UI的渲染,淘汰不须要的渲染开销。
  • 缓存机制 :使用renderGroup缓存机制,对组件及其子组件举行离屏绘制并缓存结果,以淘汰重复绘制的负载。
2、懒加载技能


  • LazyForEach :使用LazyForEach懒加载技能替换ForEach,克制一次性加载全部元素,提拔首帧绘制速度和响应性能。
  • 动态import :通过动态模块加载机制,根据实际需求加载相干模块,淘汰不须要的资源消耗,优化模块条理的懒加载性能。
3、并发优化


  • 异步使命处置惩罚 :使用TaskPool和Worker完成耗时使用,克制阻塞主线程,提高应用程序的并发处置惩罚能力和响应速度。
  • 优化数据加载 :合理使用组件异步加载特性,淘汰用户等待时间,给用户带来精良的交互体验。
4、数据库调用优化


  • 淘汰API调用次数 :通过淘汰不须要的数据库API调用,特殊是在循环查询中克制重复调用获取索引等耗时使用,提拔数据处置惩罚效率。
  • IPC优化 :针对IPC通讯举行优化,淘汰通讯开销,提拔应用性能。
5、逻辑优化


  • 数据布局选择 :选择合适的数据布局,如array、map、set等,以提高数据存取效率。
  • 缓存使用 :合理使用缓存,对重复使用的运算结果举行缓存,淘汰计算时间。
  • 内存管理 :优化new和delete的使用频次,克制在循环中频繁举行内存分配和回收使用,影响性能。
  • 延迟实行资源开释使用 :将资源关闭和开释使用放在setTimeout函数中异步实行,克制阻塞主线程。
  • 减小拖动识别间隔:应用识别拖动手势变乱时必要设置合理的拖动间隔,设置不合理的拖动间隔会导致滑动不跟手、响应时延慢等问题。针对此类问题可以通过设置distance巨细来解决。
6、视觉感知优化


  • 动画元素 :在交互动作开始时添加动画元素,如单击效果、转场动画等,提拔用户响应速度的感知。
  • 连贯的感知元素 :通过连贯的动画和视觉隐喻,平滑过渡用户的注意力,提拔用户体验。
更多详细内容和代码实现方法,可见原文:
点击响应优化-性能-最佳实践 - 华为HarmonyOS开发者 (huawei.com)
HarmonyOS NEXT最佳实践集合:
文档中心

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表