Fabric 架构在 React Native 中如何运作?

react jsjavascript libraryfront end technology更新于 2024/12/6 21:00:17

React Native 的 Fabric 架构是对传统 React 架构的一次性能升级。它使用异步渲染和新的协调算法来提升应用性能,并减少更新 UI 所需的时间。Fabric 还能更高效地利用内存,并更好地处理复杂的动画和交互。

问题

在当前架构中,所有 UI 操作都由一系列跨桥接步骤处理。当前架构包含四个核心部分:

  • 开发者编写的 React 代码(与 Web 代码非常相似)

  • 根据你编写的内容进行解释的 JavaScript 代码

  • 一系列统称为"桥接器"的元素

  • 以及原生端。

当前架构的关键在于 JavaScript 和原生端彼此之间并不"感知"。这意味着它们之间的通信依赖于通过桥接器传输的异步 JSON 消息。这些请求被发送到原生代码,期望(但不保证)它们会在未来的某个时间点引发(设法获得)响应。

解决方案(Fabric 架构)

新架构(Fabric 架构)主要由两个主要组件组成:

布局引擎

布局引擎负责计算组件及其子组件的布局。

它使用一种名为 Yoga 的新算法,该算法是 Facebook Yoga 布局引擎的一个分支。Yoga 比传统布局引擎更高效,能够更快地计算布局,并且占用更少的内存。这可以提高复杂和大型组件的性能。

渲染器

渲染器负责在屏幕上渲染组件。

它使用一种称为异步渲染的新技术。这使得渲染器可以同时处理多个组件,从而提高性能并减少渲染单个组件所需的时间。

工作原理(Fabric 架构)

  • React Native 应用通过用户交互启动。

  • 新的 Fabric 架构会加载原生端,而不是打开原生模块。

  • 然后它会通知 JS 线程执行其工作。

  • 现在 JS 端会加载所有包含所有 JavaScript 和 React 组件逻辑的 main.bundle.js 文件。

  • JS 通过 ref native 函数(使用 JSI API 以对象形式暴露的函数)调用到 Fabric,影子节点像以前一样创建树。

  • 最后,Yoga 进行布局计算,将基于 Flexbox 的样式转换为宿主样式。布局。

  • Fabric 完成其功能并显示 UI。

总体而言,React Native 中的 Fabric 架构提供了一种更高效、更高性能的组件布局和渲染方式,从而带来更流畅的用户体验。


相关文章


有用资源