React Native 启动发生了什么?
LiuuY
LiuuY
基于 0.5.9 版本
-
创建
RootView
,这个是所有 APP 内容的容器。 -
创建
Bridge Interface
,用于和 C++ 实现的Bridge
通信。 -
Bridge
包含Native To JavaScript
和JavaScript To Native
两部分。 -
创建
JavaScript Thread
和Native Module Thread
,分别运行 APP 的 JavaScript 代码,和Native Module
代码。 -
创建
Native Module
和Custom Module
。 -
创建
Global Object
,类似于浏览器的window
对象,它有两个重要的值:ModuleConfig
对象(包含了Native Module
和Custom Module
的配置)和nativeFlushQueueImmediate
方法(用于 JavaScript 和 Bridge 传递数据),它可以被 JavaScript 和 Bridge 访问。 -
创建
BatchedBridge
对象,用于将数据传到Bridge
(使用nativeFlushQueueImmediate
方法)。 -
创建
NativeModules
对象,里面包含了原生提供方法,JavaScript 可以直接调用。