【发布时间】:2018-09-05 14:04:43
【问题描述】:
在我们的 Android 应用程序中,我尽快初始化 React Native JS 代码,因为我有一些 JS 代码在后台运行,即使当前没有 React Native 视图可见。我通过调用 ReactInstanceManager#createReactContextInBackground() 来做到这一点。
这可行,并且 JS 代码被初始化,但在我实际打开调用 ReactRootView#startReactApplication() 的 React Native 视图之前,我似乎无法调用任何带有 @ReactMethod 注释的 Java 方法。如果我在此之前尝试调用任何本机方法,则不会发生任何事情,但似乎这些调用被添加到队列中,然后最终在 React 视图打开时被拾取。
使用setTimeout() 设置的计时器似乎也是如此。当没有视图打开时,他们只是不会被调用。所以看起来 JS 被评估了,但是 JS 引擎还没有“运行”。
如何在打开任何 React 视图之前确保引擎正常运行?
【问题讨论】:
标签: javascript android react-native