From d451c032844b7ca9691f391356653c920e68b725 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Sun, 3 Mar 2019 15:47:09 -0800 Subject: [PATCH] Remove createMountItem code Summary: Now that pre-allocation of views update props, we can just force the execution of "pre-allocation" instead of "create" mount item. This diff removes the methods that were used by view creation This way we reduce the amount of mountItems that are created during commit phase. This should improve TTI (I'm running a MobileLab) Reviewed By: shergin Differential Revision: D14297477 fbshipit-source-id: a100bab798467e9f0fa9773e0206ba1ded472298 --- .../react/fabric/FabricJSIModuleProvider.java | 2 - .../react/fabric/FabricUIManager.java | 18 +------ .../mounting/mountitems/CreateMountItem.java | 54 ------------------- 3 files changed, 1 insertion(+), 73 deletions(-) delete mode 100644 ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java index 5d010e0ed00..c3cde5478ef 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java @@ -17,7 +17,6 @@ import com.facebook.react.fabric.mounting.LayoutMetricsConversions; import com.facebook.react.fabric.mounting.MountingManager; import com.facebook.react.fabric.mounting.ViewPool; import com.facebook.react.fabric.mounting.mountitems.BatchMountItem; -import com.facebook.react.fabric.mounting.mountitems.CreateMountItem; import com.facebook.react.fabric.mounting.mountitems.DeleteMountItem; import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem; import com.facebook.react.fabric.mounting.mountitems.InsertMountItem; @@ -94,7 +93,6 @@ public class FabricJSIModuleProvider implements JSIModuleProvider { FabricUIManager.class.getClass(); GuardedFrameCallback.class.getClass(); BatchMountItem.class.getClass(); - CreateMountItem.class.getClass(); DeleteMountItem.class.getClass(); DispatchCommandMountItem.class.getClass(); InsertMountItem.class.getClass(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index 9023b399d22..828cb2c6478 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -38,7 +38,6 @@ import com.facebook.react.fabric.jsi.EventEmitterWrapper; import com.facebook.react.fabric.jsi.FabricSoLoader; import com.facebook.react.fabric.mounting.MountingManager; import com.facebook.react.fabric.mounting.mountitems.BatchMountItem; -import com.facebook.react.fabric.mounting.mountitems.CreateMountItem; import com.facebook.react.fabric.mounting.mountitems.DeleteMountItem; import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem; import com.facebook.react.fabric.mounting.mountitems.InsertMountItem; @@ -162,22 +161,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { mMountingManager.removeRootView(reactRootTag); mReactContextForRootTag.remove(reactRootTag); } - - @DoNotStrip - @SuppressWarnings("unused") - private MountItem createMountItem( - String componentName, int reactRootTag, int reactTag, boolean isVirtual, ReadableMap props) { - String component = sComponentNames.get(componentName); - if (component == null) { - throw new IllegalArgumentException("Unable to find component with name " + componentName); - } - ThemedReactContext reactContext = mReactContextForRootTag.get(reactRootTag); - if (reactContext == null) { - throw new IllegalArgumentException("Unable to find ReactContext for root: " + reactRootTag); - } - return new CreateMountItem(reactContext, component, reactTag, isVirtual, props); - } - + @Override public void initialize() { mEventDispatcher.registerEventEmitter(FABRIC, new FabricEventEmitter(this)); diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java deleted file mode 100644 index 4106999cdc5..00000000000 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - *

This source code is licensed under the MIT license found in the LICENSE file in the root - * directory of this source tree. - */ -package com.facebook.react.fabric.mounting.mountitems; - -import com.facebook.react.bridge.ReadableMap; -import com.facebook.react.fabric.mounting.MountingManager; -import com.facebook.react.uimanager.ThemedReactContext; - -public class CreateMountItem implements MountItem { - - private final String mComponentName; - private final int mReactTag; - private final ThemedReactContext mThemedReactContext; - private final boolean mIsVirtual; - private final ReadableMap mProps; - - public CreateMountItem( - ThemedReactContext themedReactContext, - String componentName, - int reactTag, - boolean isVirtual, - ReadableMap props) { - mReactTag = reactTag; - mThemedReactContext = themedReactContext; - mComponentName = componentName; - mIsVirtual = isVirtual; - mProps = props; - } - - @Override - public void execute(MountingManager mountingManager) { - mountingManager.createView(mThemedReactContext, mComponentName, mReactTag, mIsVirtual); - if (mProps != null && !mIsVirtual) { - mountingManager.updateProps(mReactTag, mProps); - } - } - - public String getComponentName() { - return mComponentName; - } - - public ThemedReactContext getThemedReactContext() { - return mThemedReactContext; - } - - @Override - public String toString() { - return "CreateMountItem [" + mReactTag + "] " + mComponentName; - } -}