diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index 48b7e4820c0..8a10a9066ff 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -1103,14 +1103,22 @@ public class ReactInstanceManager { // create mHasStartedCreatingInitialContext = true; + final ReactApplicationContext reactApplicationContext; try { Process.setThreadPriority(Process.THREAD_PRIORITY_DISPLAY); ReactMarker.logMarker(VM_INIT); - final ReactApplicationContext reactApplicationContext = + reactApplicationContext = createReactContext( initParams.getJsExecutorFactory().create(), initParams.getJsBundleLoader()); - + } catch (Exception e) { + // Reset state and bail out. This lets us try again later. + mHasStartedCreatingInitialContext = false; + mCreateReactContextThread = null; + mDevSupportManager.handleException(e); + return; + } + try { mCreateReactContextThread = null; ReactMarker.logMarker(PRE_SETUP_REACT_CONTEXT_START); final Runnable maybeRecreateReactContextRunnable =