Optimize gesture recognizer instantiation (#35979)

diff --git a/packages/flutter/lib/src/gestures/long_press.dart b/packages/flutter/lib/src/gestures/long_press.dart
index 0c4b66c..932440c 100644
--- a/packages/flutter/lib/src/gestures/long_press.dart
+++ b/packages/flutter/lib/src/gestures/long_press.dart
@@ -268,13 +268,14 @@
 
   void _checkLongPressStart() {
     assert(_initialButtons == kPrimaryButton);
-    final LongPressStartDetails details = LongPressStartDetails(
-      globalPosition: _longPressOrigin.global,
-      localPosition: _longPressOrigin.local,
-    );
-    if (onLongPressStart != null)
+    if (onLongPressStart != null) {
+      final LongPressStartDetails details = LongPressStartDetails(
+        globalPosition: _longPressOrigin.global,
+        localPosition: _longPressOrigin.local,
+      );
       invokeCallback<void>('onLongPressStart',
         () => onLongPressStart(details));
+    }
     if (onLongPress != null)
       invokeCallback<void>('onLongPress', onLongPress);
   }