Files
react-native/packages/react-native/React/UIUtils
Oskar KwaśniewskiandFacebook GitHub Bot 90fb73e83c feat: Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method (#41935)
Summary:
This PR optimises RCTKeyWindow() calls in `RCTForceTouchAvailable` method. This method was calling RCTKeyWindow hundreds of times while scrolling on the screen.

Before:

On the video you can see that this function is being called **350 times** just from simple list scrolling. RCTKeyWindow is looping over app windows so it's not a cheap operation.

https://github.com/facebook/react-native/assets/52801365/5b69cbd6-d148-4d06-b672-bd7b60472c13

After: the function is called only few times at the start of the app to get initial layout measurements.

Solution: I think we can check just once for the force touch capabilities as devices can't change it on the fly

bypass-github-export-checks

## Changelog:

[IOS] [FIXED] - Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method

Pull Request resolved: https://github.com/facebook/react-native/pull/41935

Test Plan: CI Green

Reviewed By: dmytrorykun

Differential Revision: D52172510

Pulled By: cipolleschi

fbshipit-source-id: 881a3125a2af4376ce65d785d8eee09c7d8f1f16
2023-12-19 10:09:49 -08:00
..