From da3b98bbcd521ccd72c7b9b6671a2513cb02fdf8 Mon Sep 17 00:00:00 2001 From: Luna Wei Date: Wed, 12 Mar 2025 18:26:48 -0700 Subject: [PATCH] Call RCTScreenSize early (#49999) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49999 Changelog: [Internal] Early initialize call to RCTScreenSize which is used by Modal and will read screen size off the UI Thread to avoid main thread deadlocks Reviewed By: sammy-SC Differential Revision: D70999156 fbshipit-source-id: 47fb8666c3330ee67cbcb430060f0cec37ec3c7c --- .../React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/react-native/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm b/packages/react-native/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm index aaf443ef7bf..6208f2051c0 100644 --- a/packages/react-native/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm +++ b/packages/react-native/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm @@ -6,6 +6,7 @@ */ #import "RCTInitializeUIKitProxies.h" +#import #import "RCTInitialAccessibilityValuesProxy.h" #import "RCTKeyWindowValuesProxy.h" #import "RCTTraitCollectionProxy.h" @@ -19,5 +20,7 @@ void RCTInitializeUIKitProxies(void) [[RCTTraitCollectionProxy sharedInstance] startObservingTraitCollection]; [[RCTInitialAccessibilityValuesProxy sharedInstance] recordAccessibilityValues]; [[RCTKeyWindowValuesProxy sharedInstance] startObservingWindowSizeIfNecessary]; + // Early cache size of screen to avoid main thread contention + RCTScreenSize(); }); }