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 可以直接调用。