Repository: flutter
Issue: iOS app hangs when not lazily loading children scrolling through large text
Labels: platform-ios,engine,c: performance,f: scrolling,a: quality,perf: speed,has reproducible steps,P2,found in release: 3.10,found in release: 3.11,team-ios,triaged-ios

### Is there an existing issue for this?

- [X] I have searched the [existing issues](https://github.com/flutter/flutter/issues)
- [X] I have read the [guide to filing a bug](https://flutter.dev/docs/resources/bug-reports)

### Steps to reproduce

Run the given code in Xcode with 'My Mac (Designed for iPad)' as the run destination, the app will scroll very slowly and then start hanging. The CPU will hit 100% as soon as the scroll starts.

This can be fixed by using a ListView.builder instead of the SingleChildScrollView, but the same app scrolls very smoothly both on iOS (with a normal iPhone as run destination) and on macOS (with `flutter run -d macos`). So this seem a bug with iOS apps running on M1 Macs.

The bug seems to happen only with Text widget, because I've tried with other widgets and it scrolls normally.

### Expected results

The app scrolls smoothly like on iOS

### Actual results

The app scrolls very slowly and hangs

### Code sample

<details><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  Widget build(BuildContext context) {
    final textLines = [
      for (int i = 0; i < 10000; i++)
        Text(
          '$i This is a very long text repeated many many times',
          style: Theme.of(context).textTheme.headlineMedium,
        ),
    ];

    // This works well
    // Widget body = ListView.builder(
    //   itemBuilder: (_, idx) => textLines[idx],
    //   itemCount: textLines.length,
    // );

    // This makes the app hang
    Widget body = SingleChildScrollView(
      child: Column(
        children: textLines,
      ),
    );

    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: body,
    );
  }
}

```

</details>


### Screenshots or Video

<details>
<summary>Screenshots / Video demonstration</summary>

[Upload media here]

</details>


### Logs

<details><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details><summary>Doctor output</summary>

```console
[✓] Flutter (Channel stable, 3.7.12, on macOS 13.3.1 22E772610a darwin-arm64, locale en-IT)
    • Flutter version 3.7.12 on channel stable at /Users/simone/dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4d9e56e694 (3 weeks ago), 2023-04-17 21:47:46 -0400
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/simone/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.78.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (3 available)
    • iPhone Sim (mobile) • 00008120-001849E8149B401E • ios            • iOS 16.4.1 20E252
    • macOS (desktop)     • macos                     • darwin-arm64   • macOS 13.3.1 22E772610a darwin-arm64
    • Chrome (web)        • chrome                    • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!
```

</details>