diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index e98a41716fb..e046f6b5bc3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -1175,7 +1175,6 @@ public class ReactInstanceManager { mDevSupportManager.onNewReactContextCreated(reactContext); mMemoryPressureRouter.addMemoryPressureListener(catalystInstance); - moveReactContextToCurrentLifecycleState(); ReactMarker.logMarker(ATTACH_MEASURED_ROOT_VIEWS_START); for (ReactRoot reactRoot : mAttachedReactRoots) { @@ -1197,6 +1196,8 @@ public class ReactInstanceManager { new Runnable() { @Override public void run() { + moveReactContextToCurrentLifecycleState(); + for (com.facebook.react.ReactInstanceEventListener listener : finalListeners) { // Sometimes this listener is null - probably due to race // condition between allocating listeners with a certain @@ -1208,10 +1209,6 @@ public class ReactInstanceManager { } } }); - Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE); - ReactMarker.logMarker(SETUP_REACT_CONTEXT_END); - // Mark end of bridge loading - ReactMarker.logMarker(ReactMarkerConstants.REACT_BRIDGE_LOADING_END); reactContext.runOnJSQueueThread( new Runnable() { @Override @@ -1227,6 +1224,11 @@ public class ReactInstanceManager { Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT); } }); + + Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE); + ReactMarker.logMarker(SETUP_REACT_CONTEXT_END); + // Mark end of bridge loading + ReactMarker.logMarker(ReactMarkerConstants.REACT_BRIDGE_LOADING_END); } private void attachRootViewToInstance(final ReactRoot reactRoot) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java index e45f93b4ba1..aadcadfa72c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java @@ -254,6 +254,7 @@ public class ReactContext extends ContextWrapper { } /** Should be called by the hosting Fragment in {@link Fragment#onResume} */ + @ThreadConfined(UI) public void onHostResume(@Nullable Activity activity) { mLifecycleState = LifecycleState.RESUMED; mCurrentActivity = new WeakReference(activity); @@ -282,6 +283,7 @@ public class ReactContext extends ContextWrapper { } /** Should be called by the hosting Fragment in {@link Fragment#onPause} */ + @ThreadConfined(UI) public void onHostPause() { mLifecycleState = LifecycleState.BEFORE_RESUME; ReactMarker.logMarker(ReactMarkerConstants.ON_HOST_PAUSE_START);