HarmonyOS Next中如何减少自定义组件产生多余节点?

阅读 660
1 个回答

自定义组件自身为非渲染节点,仅是组件树和状态数据的组合,常规使用自定义组件时并不会产生多余的节点。但是给自定义组件添加属性后,会将自定义组件作为一个整体节点进行处理。对内部的组件树进行操作,如背景色绘制、圆角绘制等都会作用在该节点上。

通过DevEco Studio内置ArkUI Inspector工具,查看组件树结构可以看到,相比使用@Builder方法,组件树多一个自定义组件节点,所以优先使用@Builder方法代替自定义组件减少了自定义组件节点数量。而给自定义组件添加属性,会在自定义组件外部会创建一个“__Common__”类型的节点,如下图所示。为了避免这类“__Common__”节点的创建,可以将自定义组件的属性移至内部,或者动态设置自定义组件的属性。减少自定义组件产生多余节点,可以使总节点数量降低,从而提升性能。

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进