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

32 阅读3分钟

前言

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

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

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

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

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

实验例子

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

结论

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

限制条件

总结

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

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

最后

以上就是本次分享给大家的一些教学了,如果这个文章对你有帮助,恳请三连。

青蓝逐码组织官网的服务器申请和域名在申请中,有结果了会第一时间分享我们的组织,后续我会持续分享一些实际项目遇到的难题解决方案以及最佳实践解析,希望大家多多关注哦!