mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Add Systrace sections to UIImplementationProvider
Summary: Add Systrace sections to initialization of non-Fabric UIImplementationProvider. This path is sometimes invoked during startup of Fabric so I'd like to gather more information about its impact. Changelog: [Internal] Reviewed By: ejanzer Differential Revision: D24959965 fbshipit-source-id: a8555b8db284d00f97c71ca859cb2020409cb110
This commit is contained in:
committed by
Facebook GitHub Bot
parent
66e536739e
commit
c609952ddb
+34
-12
@@ -9,6 +9,7 @@ package com.facebook.react.uimanager;
|
||||
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.uimanager.events.EventDispatcher;
|
||||
import com.facebook.systrace.Systrace;
|
||||
import java.util.List;
|
||||
|
||||
/** Provides UIImplementation to use in {@link UIManagerModule}. */
|
||||
@@ -20,11 +21,17 @@ public class UIImplementationProvider {
|
||||
UIManagerModule.ViewManagerResolver viewManagerResolver,
|
||||
EventDispatcher eventDispatcher,
|
||||
int minTimeLeftInFrameForNonBatchedOperationMs) {
|
||||
return new UIImplementation(
|
||||
reactContext,
|
||||
viewManagerResolver,
|
||||
eventDispatcher,
|
||||
minTimeLeftInFrameForNonBatchedOperationMs);
|
||||
Systrace.beginSection(
|
||||
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "UIImplementationProvider.createUIImplementation[1]");
|
||||
try {
|
||||
return new UIImplementation(
|
||||
reactContext,
|
||||
viewManagerResolver,
|
||||
eventDispatcher,
|
||||
minTimeLeftInFrameForNonBatchedOperationMs);
|
||||
} finally {
|
||||
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||
}
|
||||
}
|
||||
|
||||
public UIImplementation createUIImplementation(
|
||||
@@ -32,8 +39,17 @@ public class UIImplementationProvider {
|
||||
List<ViewManager> viewManagerList,
|
||||
EventDispatcher eventDispatcher,
|
||||
int minTimeLeftInFrameForNonBatchedOperationMs) {
|
||||
return new UIImplementation(
|
||||
reactContext, viewManagerList, eventDispatcher, minTimeLeftInFrameForNonBatchedOperationMs);
|
||||
Systrace.beginSection(
|
||||
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "UIImplementationProvider.createUIImplementation[2]");
|
||||
try {
|
||||
return new UIImplementation(
|
||||
reactContext,
|
||||
viewManagerList,
|
||||
eventDispatcher,
|
||||
minTimeLeftInFrameForNonBatchedOperationMs);
|
||||
} finally {
|
||||
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||
}
|
||||
}
|
||||
|
||||
UIImplementation createUIImplementation(
|
||||
@@ -41,10 +57,16 @@ public class UIImplementationProvider {
|
||||
ViewManagerRegistry viewManagerRegistry,
|
||||
EventDispatcher eventDispatcher,
|
||||
int minTimeLeftInFrameForNonBatchedOperationMs) {
|
||||
return new UIImplementation(
|
||||
reactContext,
|
||||
viewManagerRegistry,
|
||||
eventDispatcher,
|
||||
minTimeLeftInFrameForNonBatchedOperationMs);
|
||||
Systrace.beginSection(
|
||||
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "UIImplementationProvider.createUIImplementation[3]");
|
||||
try {
|
||||
return new UIImplementation(
|
||||
reactContext,
|
||||
viewManagerRegistry,
|
||||
eventDispatcher,
|
||||
minTimeLeftInFrameForNonBatchedOperationMs);
|
||||
} finally {
|
||||
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user