鸿蒙-LazyForEach结合@Reusable性能优化

1. cachedCount,设置为屏幕显示数据的一半,性能是最好

2. 在列表场景下,快速滑动时,图片刷新会出现闪烁。设置syncLoad属性为true,使图片同步加载

3. 列表滚动:当应用需要展示大量数据的列表,并且用户进行滚动操作时,频繁创建和销毁列表项的视图可能导致卡顿和性能问题   @Reusable实现组件复用

3.1 复用组件必须要有“从组件树移除”并且“再次加入组件树”这两个场景,才能触发组件复用。缺一不可。ForEach渲染控制具有全展开的特性,不能触发组件复用。

3.2 复用组件需要实现aboutToReuse生命周期回调。自定义组件的构造参数将通过aboutToReuse生命周期回调传递给自定义组件。

3.2 避免在aboutToReuse中对@Link、@StorageLink、@ObjectLink、@Consume等自动更新值的状态变量进行更新,可能触发不必要的组件刷新

3.3可复用自定义组件中嵌套自定义组件,如果想要对嵌套的子组件的内容进行更新,需要实现对应子组件的aboutToReuse生命周期回调。例如:A组件是可复用的组件,B是A中嵌套的子组件,要想实现对A组件中的B组件内容进行更新,需要在B组件中实现aboutToReuse生命周期回调。

3.4 @Reusable装饰器只需要对复用子树的根节点进行标记。例如:自定义组件A中有一个自定义子组件B,若需要复用A与B的子树,只需要对A组件添加@Reusable装饰器。

3.5 组件复用当前不支持嵌套使用。即在可复用的组件的子树中存在可复用的组件,可能导致未定义的结果。

组件复用原理: 

文档中心

https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-component-reuse-V5#section142448345398

OpenHarmony列表场景性能提升方法

鸿蒙(HarmonyOS)应用开发之性能优化实战-组件复用_鸿蒙 组件复用-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值