diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java index e16dd1cad29358..ac34e2541bf3a2 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java @@ -101,6 +101,15 @@ private static void emitScrollEve private static void emitScrollEvent( T scrollView, ScrollEventType scrollEventType, float xVelocity, float yVelocity) { long now = System.currentTimeMillis(); + // Throttle the scroll event if scrollEventThrottle is set to be equal or more than 17 ms. + // We limit the delta to 17ms so that small throttles intended to enable 60fps updates will not + // inadvertently filter out any scroll events. + if (scrollView.getScrollEventThrottle() + >= Math.max(17, now - scrollView.getLastScrollDispatchTime())) { + // Scroll events are throttled. + return; + } + View contentView = scrollView.getChildAt(0); if (contentView == null) {