in non-lazy mode, log instantiation time for each native module
Reviewed By: alexeylang Differential Revision: D4640157 fbshipit-source-id: cfc1c3114ef97b8ba12839c3814a72b8ece869d6
This commit is contained in:
Родитель
13b4c2d77b
Коммит
f9a3ed3793
|
@ -16,6 +16,8 @@ import java.util.List;
|
||||||
import com.facebook.react.bridge.ModuleSpec;
|
import com.facebook.react.bridge.ModuleSpec;
|
||||||
import com.facebook.react.bridge.NativeModule;
|
import com.facebook.react.bridge.NativeModule;
|
||||||
import com.facebook.react.bridge.ReactApplicationContext;
|
import com.facebook.react.bridge.ReactApplicationContext;
|
||||||
|
import com.facebook.react.bridge.ReactMarker;
|
||||||
|
import com.facebook.react.bridge.ReactMarkerConstants;
|
||||||
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
||||||
import com.facebook.react.uimanager.ViewManager;
|
import com.facebook.react.uimanager.ViewManager;
|
||||||
import com.facebook.systrace.Systrace;
|
import com.facebook.systrace.Systrace;
|
||||||
|
@ -69,14 +71,20 @@ public abstract class LazyReactPackage implements ReactPackage {
|
||||||
public final List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
public final List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
||||||
List<NativeModule> modules = new ArrayList<>();
|
List<NativeModule> modules = new ArrayList<>();
|
||||||
for (ModuleSpec holder : getNativeModules(reactContext)) {
|
for (ModuleSpec holder : getNativeModules(reactContext)) {
|
||||||
|
NativeModule nativeModule;
|
||||||
SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "createNativeModule")
|
SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "createNativeModule")
|
||||||
.arg("module", holder.getType())
|
.arg("module", holder.getType())
|
||||||
.flush();
|
.flush();
|
||||||
try {
|
try {
|
||||||
modules.add(holder.getProvider().get());
|
ReactMarker.logMarker(
|
||||||
|
ReactMarkerConstants.CREATE_MODULE_START,
|
||||||
|
holder.getType().getSimpleName());
|
||||||
|
nativeModule = holder.getProvider().get();
|
||||||
|
ReactMarker.logMarker(ReactMarkerConstants.CREATE_MODULE_END);
|
||||||
} finally {
|
} finally {
|
||||||
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
|
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||||
}
|
}
|
||||||
|
modules.add(nativeModule);
|
||||||
}
|
}
|
||||||
return modules;
|
return modules;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче