#鸿蒙通关秘籍#在鸿蒙开发中如何使用显隐控制提升组件频繁切换性能?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
暮s苍P7P

在组件频繁切换显示与隐藏状态场景中,显隐控制能显著提高性能。以下是如何在鸿蒙开发中实现这一点:

  • 适用显隐控制的方案
    • 为组件的属性设置visibility值(Visible, Hidden, None)来轻松切换显示状态。
    • 使用visibility属性避免频繁的组件创建和销毁,显著减少性能损耗。
@Entry
@Component
struct BetterUseVisibility {
  @State isVisible: boolean = true;
  private data: number[] = [];

  aboutToAppear() {
    for (let i = 0; i < 1000; i++) {
      this.data.push(i);
    }
  }

  build() {
    Column() {
      Button("Switch visible and hidden").onClick(() => {
        this.isVisible = !this.isVisible;
      }).width('100%')
      Scroll() {
        Column() {
          ForEach(this.data, (item: number) => {
            Image($r('app.media.icon')).width('25%').height('12.5%')
          }, (item: number) => item.toString())
        }
      }.visibility(this.isVisible ? Visibility.Visible : Visibility.None)
    }
  }
}
  • 在该方案中,使用visibility控制组件不会触发频繁的组件创建和销毁,缓存机制保留组件状态,提高了性能。涉及大量组件时,显隐控制比条件渲染更有效。
分享
微博
QQ
微信
回复
2天前
相关问题
合理选择条件渲染和控制
619浏览 • 1回复 待解决