专栏名称: HarmonyOS开发者技术
HarmonyOS开发者提供HarmonyOS关键技术解析、版本更新、Codelabs实践和活动资讯,欢迎各位开发者加入鸿蒙生态,一起创造无限可能!
目录
相关文章推荐
地球资源与地质活动  ·  中国科学院:王春琴-中国空间站舱外辐射剂量实测结果 ·  22 小时前  
地球资源与地质活动  ·  中国科学院:王春琴-中国空间站舱外辐射剂量实测结果 ·  22 小时前  
半月谈  ·  “袁老师,我来看您了……” ·  昨天  
侠客岛  ·  直播“好棒棒”,绿营“心慌慌” ·  昨天  
安徽省人民政府网  ·  国补更新电梯新要求来了! ·  2 天前  
安徽省人民政府网  ·  国补更新电梯新要求来了! ·  2 天前  
51好读  ›  专栏  ›  HarmonyOS开发者技术

HarmonyOS应用点击响应时延优化指导

HarmonyOS开发者技术  · 公众号  ·  · 2025-01-06 18:00

正文

请到「今天看啥」查看全文



合理使用布局组件🔗: https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-improve-layout-performance-V5#section12745188175420

减少渲染时间

if/else条件渲染是ArkUI应用开发框架提供的渲染控制能力,可根据应用的不同状态,渲染对应分支下的UI描述。

具体内容见合理使用渲染控制语法。

合理使用渲染控制语法🔗: https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-improve-layout-performance-V5#section12390122913536

用renderGroup缓存动效

页面响应时,可能大量使用属性动画和转场动画,当复杂度达到一定程度之后,就有可能出现卡顿的情况。renderGroup是组件通用方法,它代表了渲染绘制的一个组合。

具体原理是在首次绘制组件时,若组件被标记为启用renderGroup状态,将对组件及其子组件进行离屏绘制,将绘制结果合并保存到缓存中。此后当需要重新绘制相同组件时,就会优先使用缓存而不必重新绘制了,从而降低绘制负载,进而加快响应速度。

图2 renderGroup使用场景示例

为了能使renderGroup功能生效,有以下限制条件:

  • 组件内容固定不变:组件及其子组件各属性保持固定,不发生变化。如果组件内容不是固定的,也就是说其子组件中存在某些属性变化或者样式变化,此时如果使用renderGroup,那么缓存的利用率将大大下降,并且有可能需要不断执行缓存更新逻辑,在这种情况下,不仅不能优化卡顿效果,甚至还可能使卡顿恶化。例如:文本内容使用双向绑定的动态数据;图片资源使用gif格式;使用video组件播放视频。
  • 子组件无动效:由组件统一应用动效,其子组件均无动效。如果子组件上也应用动效,那么子组件相对父组件就不再是静止的,每一帧都有可能需要更新缓存,更新逻辑同样需要消耗系统资源。

LazyForEach懒加载

使用LazyForEach懒加载替换ForEach,避免像ForEach那样一次性初始化和加载所有元素,从而使首帧绘制时创建列表元素时间大大减少,提升响应性能表现。

相关原理及案例参考《优化长列表加载慢丢帧问题》

优化长列表加载慢丢帧问题🔗: https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-best-practices-long-list-V5

动态import

动态import是一种模块加载机制,允许应用程序在运行时按照实际需求去加载相关模块。在某些条件满足时(比如用户交互时,或ABTest分支切换时)再加载特定模块,可以减少初始化import的加载时间和资源消耗,这将有助于提高应用程序的内存性能和响应速度。

与静态import不同,动态import仅在需要时才消耗CPU等资源;相比静态import在编译时就确定了引入的所有模块,动态import还有更佳的语法灵活性,借助这种灵活,能够实现代码和路由级别的粒度分割,优化模块层次的懒加载性能。

具体的使用场景和实现方案参考《动态import》。







请到「今天看啥」查看全文


推荐文章
地球资源与地质活动  ·  中国科学院:王春琴-中国空间站舱外辐射剂量实测结果
22 小时前
地球资源与地质活动  ·  中国科学院:王春琴-中国空间站舱外辐射剂量实测结果
22 小时前
半月谈  ·  “袁老师,我来看您了……”
昨天
安徽省人民政府网  ·  国补更新电梯新要求来了!
2 天前
安徽省人民政府网  ·  国补更新电梯新要求来了!
2 天前
冷炮历史  ·  什么样的军队才能用好刺刀
7 年前
IOTA埃欧塔  ·  闪电通道的竞赛与一些数据统计
7 年前