[HarmonyOS Next性能] 鸿蒙性能 - Grid网格布局性能提升

在实现如下图所示可滚动布局效果时,可能会通过columnStart/columnEnd对GridItem设置其占有行列数,实现不规则的布局效果。

图1 columnStart/columnEnd实现不规则网格布局

如果遇到如下的使用场景,使用columnStart/columnEnd可能会造成性能问题:

  1. 删除或拖拽等改变GridItem位置Grid中存在大量GridItem,当使用columnStart/columnEnd、rowStart/rowEnd设置GridItem大小,会导致该场景下Grid渲染耗时过长时,应该考虑使用GridLayoutOptions提升性能。使用columnStart/columnEnd、rowStart/rowEnd在重新渲染时会重建所有GridItem节点。而使用GridLayoutOptions则不需要重建,渲染和加载时间更短。
  2. 使用scrollToIndex滑动到指定GridItem当Grid组件中存在大量GridItem,使用columnStart/columnEnd、rowStart/rowEnd布局,在scrollToIndex滑动指定Index时,Grid会遍历GridItem去查找位置。而使用GridLayoutOptions布局,在scrollToIndex滑动指定Index时,则是通过计算方式去查找位置,查找GridItem位置效率更高。

对此,可以通过GridLayoutOptions布局选项,配合rowsTemplate、columnsTemplate仅设置其中一个的Grid使用,替代通过columnStart/columnEnd控制GridItem占用多列的情况。

鸿蒙性能最佳实践--Grid网格布局性能提升

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值