mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-05 09:29:07 +08:00
break down production startup with more markers
Reviewed By: lexs Differential Revision: D3835031 fbshipit-source-id: e85c6322d11c6c7cd38b2432e7ab623ecc5908ed
This commit is contained in:
committed by
Facebook Github Bot 1
parent
cb4da12ee8
commit
cc30d2f46d
@@ -20,6 +20,7 @@ import com.facebook.react.bridge.JavaScriptModule;
|
||||
import com.facebook.react.bridge.ModuleSpec;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactMarker;
|
||||
import com.facebook.react.common.build.ReactBuildConfig;
|
||||
import com.facebook.react.devsupport.HMRClient;
|
||||
import com.facebook.react.devsupport.JSCHeapCapture;
|
||||
@@ -42,6 +43,9 @@ import com.facebook.react.uimanager.debug.DebugComponentOwnershipModule;
|
||||
import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
import com.facebook.systrace.Systrace;
|
||||
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_END;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_START;
|
||||
|
||||
/**
|
||||
* Package defining core framework modules (e.g. UIManager). It should be used for modules that
|
||||
* require special integration with other framework parts (e.g. with the list of packages to load
|
||||
@@ -182,6 +186,7 @@ import com.facebook.systrace.Systrace;
|
||||
}
|
||||
|
||||
private UIManagerModule createUIManager(ReactApplicationContext reactContext) {
|
||||
ReactMarker.logMarker(CREATE_UI_MANAGER_MODULE_START);
|
||||
Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "createUIManagerModule");
|
||||
try {
|
||||
List<ViewManager> viewManagersList = mReactInstanceManager.createAllViewManagers(
|
||||
@@ -194,6 +199,7 @@ import com.facebook.systrace.Systrace;
|
||||
viewManagersList));
|
||||
} finally {
|
||||
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||
ReactMarker.logMarker(CREATE_UI_MANAGER_MODULE_END);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,12 +63,12 @@ import com.facebook.react.devsupport.RedBoxHandler;
|
||||
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
||||
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
||||
import com.facebook.react.modules.debug.DeveloperSettings;
|
||||
import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
|
||||
import com.facebook.react.uimanager.AppRegistry;
|
||||
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
||||
import com.facebook.react.uimanager.UIImplementationProvider;
|
||||
import com.facebook.react.uimanager.UIManagerModule;
|
||||
import com.facebook.react.uimanager.ViewManager;
|
||||
import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
|
||||
import com.facebook.soloader.SoLoader;
|
||||
import com.facebook.systrace.Systrace;
|
||||
|
||||
@@ -77,10 +77,14 @@ import static com.facebook.react.bridge.ReactMarkerConstants.BUILD_NATIVE_MODULE
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_CATALYST_INSTANCE_END;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_CATALYST_INSTANCE_START;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_REACT_CONTEXT_START;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_VIEW_MANAGERS_END;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_VIEW_MANAGERS_START;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_PACKAGES_END;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_PACKAGES_START;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.RUN_JS_BUNDLE_END;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.RUN_JS_BUNDLE_START;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.SETUP_REACT_CONTEXT_END;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.SETUP_REACT_CONTEXT_START;
|
||||
import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
|
||||
|
||||
/**
|
||||
@@ -676,6 +680,7 @@ import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
|
||||
@Override
|
||||
public List<ViewManager> createAllViewManagers(
|
||||
ReactApplicationContext catalystApplicationContext) {
|
||||
ReactMarker.logMarker(CREATE_VIEW_MANAGERS_START);
|
||||
Systrace.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "createAllViewManagers");
|
||||
try {
|
||||
List<ViewManager> allViewManagers = new ArrayList<>();
|
||||
@@ -685,6 +690,7 @@ import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
|
||||
return allViewManagers;
|
||||
} finally {
|
||||
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||
ReactMarker.logMarker(CREATE_VIEW_MANAGERS_END);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -744,6 +750,7 @@ import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
|
||||
}
|
||||
|
||||
private void setupReactContext(ReactApplicationContext reactContext) {
|
||||
ReactMarker.logMarker(SETUP_REACT_CONTEXT_START);
|
||||
Systrace.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "setupReactContext");
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
Assertions.assertCondition(mCurrentReactContext == null);
|
||||
@@ -768,6 +775,7 @@ import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
|
||||
listener.onReactContextInitialized(reactContext);
|
||||
}
|
||||
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||
ReactMarker.logMarker(SETUP_REACT_CONTEXT_END);
|
||||
}
|
||||
|
||||
private void attachMeasuredRootViewToInstance(
|
||||
|
||||
@@ -23,4 +23,14 @@ public class ReactMarkerConstants {
|
||||
public static final String RUN_JS_BUNDLE_END = "RUN_JS_BUNDLE_END";
|
||||
public static final String NATIVE_MODULE_INITIALIZE_START = "NativeModule_start";
|
||||
public static final String NATIVE_MODULE_INITIALIZE_END = "NativeModule_end";
|
||||
public static final String SETUP_REACT_CONTEXT_START = "SETUP_REACT_CONTEXT_START";
|
||||
public static final String SETUP_REACT_CONTEXT_END = "SETUP_REACT_CONTEXT_END";
|
||||
public static final String CREATE_UI_MANAGER_MODULE_START = "CREATE_UI_MANAGER_MODULE_START";
|
||||
public static final String CREATE_UI_MANAGER_MODULE_END = "CREATE_UI_MANAGER_MODULE_START";
|
||||
public static final String CREATE_VIEW_MANAGERS_START = "CREATE_VIEW_MANAGERS_START";
|
||||
public static final String CREATE_VIEW_MANAGERS_END = "CREATE_VIEW_MANAGERS_END";
|
||||
public static final String CREATE_UI_MANAGER_MODULE_CONSTANTS_START =
|
||||
"CREATE_UI_MANAGER_MODULE_CONSTANTS_START";
|
||||
public static final String CREATE_UI_MANAGER_MODULE_CONSTANTS_END =
|
||||
"CREATE_UI_MANAGER_MODULE_CONSTANTS_END";
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.facebook.react.bridge.OnBatchCompleteListener;
|
||||
import com.facebook.react.bridge.PerformanceCounter;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
||||
import com.facebook.react.bridge.ReactMarker;
|
||||
import com.facebook.react.bridge.ReactMethod;
|
||||
import com.facebook.react.bridge.ReadableArray;
|
||||
import com.facebook.react.bridge.ReadableMap;
|
||||
@@ -33,7 +34,10 @@ import com.facebook.react.uimanager.events.EventDispatcher;
|
||||
import com.facebook.systrace.Systrace;
|
||||
import com.facebook.systrace.SystraceMessage;
|
||||
|
||||
/**
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_END;
|
||||
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_START;
|
||||
|
||||
/**
|
||||
* <p>Native module to allow JS to create and update native Views.</p>
|
||||
*
|
||||
* <p>
|
||||
@@ -131,11 +135,13 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements
|
||||
}
|
||||
|
||||
private static Map<String, Object> createConstants(List<ViewManager> viewManagerList) {
|
||||
ReactMarker.logMarker(CREATE_UI_MANAGER_MODULE_CONSTANTS_START);
|
||||
Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "CreateUIManagerConstants");
|
||||
try {
|
||||
return UIManagerModuleConstantsHelper.createConstants(viewManagerList);
|
||||
} finally {
|
||||
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||
ReactMarker.logMarker(CREATE_UI_MANAGER_MODULE_CONSTANTS_END);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user