HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用 2

HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用 2
前言
接上文 HarmonyOS 组件复用 @ReusableV2 装饰器的基本使用
上文已经介绍过了 @ReusableV2 的基本使用和生命周期,本文主要讲解**@ReusableV2**的使用场景
使用场景
如官网中所总结的,因为以下场景都经常伴随着组件的显示和隐藏,@ReusableV2 常见的使用场景如下:
搭配 if 使用
搭配 Repeat 使用
搭配 ForEach 使用
搭配 LazyForEach 使用
搭配 if 使用
效果

搭配 Repeat each 使用 懒加载场景
Repeat 组件懒加载场景中,将会优先使用 Repeat 组件的缓存池,正常滑动场景、更新场景不涉及组件的回收与复用。当 Repeat 的缓存池需要扩充时将会向自定义组件要求新的子组件,此时如果复用池中有可复用的节点,将会进行复用。
效果

步骤解释:
正常滑动列表,不会触发组件的 回收和复用
点击按钮,条件渲染 组件时,就会触发组件的回收和复用了
virtualScroll
virtualScroll 表示 虚拟列表,使用不使用 virtualScroll 的区别在于
使用 virtualScroll
不使用 virtualScroll
预加载区的 ListItem 会在系统空闲时创建和布局
预加载区内的 ListItem 会在首帧创建,系统空闲时布局 ListItem 和创建 ListItem 内部的子结构
使用 virtualScroll :

不使用 virtualScroll :

搭配 Repeat each 使用 非懒加载场景
Repeat 组件非懒加载场景中,会在删除/创建子树时触发回收/复用。

操作步骤如下:
运行项目
触发 aboutToAppear
增加元素
触发 aboutToAppear
删除元素
触发 aboutToRecycle
更改元素
无输出
删除/创建 Repeat
触发 aboutToRecycle 和 aboutToReuse
搭配 Repeat 和 ForEach
推荐开发者使用 Repeat 组件的非懒加载场景代替 ForEach 组件
搭配 Repeat 和 LazyForEach
推荐开发者使用 Repeat 组件的懒加载场景代替 LazyForEach 组件
关于我们
如果你兴趣想要了解更多的鸿蒙应用开发细节和最新资讯,甚至你想要做出一款属于自己的应用!欢迎在评论区留言或者私信或者看我个人信息,可以加入技术交流群。

版权声明: 本文为 InfoQ 作者【万少】的原创文章。
原文链接:【http://xie.infoq.cn/article/b687fc79cebf57e0c4d0b5ad6】。文章转载请联系作者。
评论