HarmonyOS 鸿蒙Next CustomBuilder加载慢

HarmonyOS 鸿蒙Next CustomBuilder加载慢

@Builder BubbleBackground() { Image($r(‘app.media.bg_made’)) .objectFit(ImageFit.Fill) .resizable({ slice: { left: px2vp(40), right: px2vp(40), top: px2vp(40), bottom: 1, } }) .width(“100%”) .height(“100%”) } Stack({ alignContent: Alignment.Bottom }).background(this.BubbleBackground())

加载总是慢一步,有时候还会出现加载不出来


更多关于HarmonyOS 鸿蒙Next CustomBuilder加载慢的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

自定义背景渲染会有一定延迟,不能响应事件,不能进行动态更新。该属性不支持嵌套使用,且不支持预览器预览。官方文档:背景设置-通用属性-组件通用信息-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

你可以使用如你希望用图片作为背景,可以考虑使用backgroundImage来实现,参考:背景设置-通用属性-组件通用信息-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

你可以通过通用属性borderImage实现,请参考:图片边框设置-通用属性-组件通用信息-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

你可以根据实际情况调整相应参数,参考demo如下:

@Entry
@Component
struct BorderImage {
  @State WidthValue: number = 0
  @State SliceValue: number = 0
  @State OutSetValue: number = 0
  @State RepeatValue: RepeatMode[] = [RepeatMode.Repeat, RepeatMode.Stretch, RepeatMode.Round, RepeatMode.Space]
  @State SelectIndex: number = 0
  @State SelectText: string = 'Repeat'
  @State FillValue: boolean = false

  build() {

    Row {

      Column({ space: 20 }) {

        Row {

          Text('This is borderImage.').textAlign(TextAlign.Center).fontSize(50)

        }

        .borderImage({

          source: $r('app.media.app_icon'),
          slice: this.SliceValue,
          width: this.WidthValue,
          outset: this.OutSetValue,
          repeat: this.RepeatValue[this.SelectIndex],
          fill: this.FillValue

        })

        Column() {

          Text(`borderImageSlice = ${this.SliceValue}px`)

          Slider({
            value: this.SliceValue,
            min: 0,
            max: 100,
            style: SliderStyle.OutSet
          })
            .onChange((value: number, mode: SliderChangeMode) => {
              this.SliceValue = value
            })

        }

        Column() {

          Text(`borderImageWidth = ${this.WidthValue}px`)

          Slider({
            value: this.WidthValue,
            min: 0,
            max: 100,
            style: SliderStyle.OutSet
          })
            .onChange((value: number, mode: SliderChangeMode) => {
              this.WidthValue = value
            })

        }

        Column() {

          Text(`borderImageOutSet = ${this.OutSetValue}px`)

          Slider({
            value: this.OutSetValue,
            min: 0,
            max: 100,
            style: SliderStyle.OutSet
          })
            .onChange((value: number, mode: SliderChangeMode) => {
              this.OutSetValue = value
            })

        }

        Row() {

          Text('borderImageRepeat: ')

          Select([{ value: 'Repeat' }, { value: 'Stretch' }, { value: 'Round' }, { value: 'Space'}])
            .value(this.SelectText)
            .selected(this.SelectIndex)
            .onSelect((index: number, value?: string) => {
              this.SelectIndex = index
              this.SelectText = value as string
            })

        }

        Row() {

          Text(`borderImageFill: ${this.FillValue} `)

          Toggle({ type: ToggleType.Switch, isOn: this.FillValue })
            .onChange((isOn: boolean) => {
              this.FillValue = isOn
            })

        }

      }

      .width('100%')

    }

    .height('100%')

  }
}

详细参数解释参考官网链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-border-image-V5

更多关于HarmonyOS 鸿蒙Next CustomBuilder加载慢的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS(鸿蒙)Next CustomBuilder加载慢的问题,可能的原因及解决方法如下:

  1. 资源占用高:在构建过程中,CustomBuilder可能会占用大量CPU、内存或磁盘I/O资源,导致加载速度变慢。检查系统资源使用情况,关闭不必要的后台程序或服务,释放资源。

  2. 构建配置复杂:如果项目构建配置较为复杂,包含大量依赖或自定义任务,会导致构建时间延长。优化构建配置,减少不必要的依赖和任务,提高构建效率。

  3. 缓存问题:构建系统可能因缓存问题导致加载慢。尝试清理项目缓存,重新构建。

  4. 磁盘性能:如果项目所在磁盘性能不佳,如使用老旧硬盘或磁盘空间不足,也会影响加载速度。检查磁盘性能和空间,必要时升级硬件或优化存储。

  5. 网络问题:如果构建过程中需要从远程仓库下载依赖,网络延迟或不稳定也会导致加载慢。检查网络连接,确保网络畅通。

综上所述,针对HarmonyOS Next CustomBuilder加载慢的问题,可以从资源占用、构建配置、缓存清理、磁盘性能和网络连接等方面入手进行排查和优化。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部