鸿蒙最佳实践之优先使用@Builder方法代替@Component组件

2025-06-14 15:35:12
108次阅读
0个评论

鸿蒙最佳实践之优先使用@Builder方法代替@Component组件

前言

大家好,我是青蓝逐码组织的君莫笑。 今天给大家分享鸿蒙中最佳实践的知识点,优先使用@Builder代替@Component组件。

为什么我们要用@Builder代替@Component组件?

我们在实际开发中,大多数还是使用@Component来进行组件封装复用,因为其拓展性好,还能直接在内部修改状态变量,并且功能也比@Builder强大,拥有其没有的组件生命周期,那我们为什么还是推荐用@Builder代替@Component组件呢? 这里直接甩出官网的说明

img

其中的大意说白了就是用@Builder代替@Component组件能够去减少节点树。

因此,在应用开发时,减少自定义组件的使用,尤其是自定义组件在循环中的使用,将成倍减少FrameNode节点树上CustomNode节点数量,有效缩短页面的加载和渲染时长。当在应用中使用自定义组件时,可以优先考虑使用@Builder函数代替自定义组件,@Builder函数不会在后端FrameNode节点树上创建一个新的树节点(抄的官网的

实验例子

img

我们通过官网给出的实验结论不难看出@Builder方法确实比@Component组件性能更好

结论

虽然@Builder比@Component组件性能更好,但是我们在实际开发中还是要根据场景来选择对应的方案,毕竟@Builder有着一些限制条件。

限制条件

总结

因此如果你的数据需要进行状态变量的改变,并且类型不是复杂类型、参数不止一个,那么不建议使用@Builder方法进行复用了。

所以只有在你的数据不需要二次改变的情况下,使用@Builder方法代替@Component组件对性能更好!一些轻量级的封装组件(纯UI,无数据变化)以及不需要修改数据的组件就可以优化为@Builder方法。

收藏00

登录 后评论。没有帐号? 注册 一个。