Skip to content

Long list variable slowing performance #80176

Closed

Description

@nausharipov

When I try to use a list of 14216 maps, this widget freezes for a few seconds during initialization:

class Slow extends StatefulWidget {
  Slow({Key key}) : super(key: key);

  @override
  _SlowState createState() => _SlowState();
}

class _SlowState extends State<Slow> {
List _list = [
  {
    "code": "110000000",
    "region": "11",
    "district": "0",
    "locality_center": "0",
    "locality": "0",
    "ru_name": "Акмолинская область",
    "kk_name": "Ақмола облысы"
  },
// 14215 maps
];

@override
Widget build(BuildContext context) {
    print('it takes a few seconds before this message is printed in terminal');
    print(_list.length);
    return Container();
}
}

Is there a better way of storing and using huge lists in flutter?

Activity

  1. ta9ki commented on Apr 10, 2021

    @ta9ki

    Вы желаете пользователю показывать такие длинные списки? если нет, то используйте SQLITE или HIVE

  2. hamdikahloun commented on Apr 10, 2021

    @hamdikahloun
    Member

    Hi @nausharipov

    Can you please provide your flutter doctor -v, your flutter run --verbose and a minimal complete reproducible code sample?

    Thank you

    See: Work with long lists

  3. added
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Apr 10, 2021
  4. iapicca commented on Apr 11, 2021

    @iapicca

    @hamdikahloun

    I do not experience the behavior @nausharipov is reporting [ +477 ms] I/flutter ( 9193): 15000
    but if you try to animate to bottom (press the fab) the app indeed freezes
    just watch the gif until the end

    code sample

    note

    some steps in the sample are "unnecessary" but try to reproduce a real world parsing and and serialization

    import 'package:flutter/material.dart';
    
    final _manyMaps = [
      for (var i = 0; i < 15000; ++i)
        {
          'code': 'code $i',
          'region': 'region $i',
          'district': 'district $i',
          'locality_center': 'locality_center $i',
          'locality': 'locality $i',
          'ru_name': 'ru_name $i',
          'kk_name': 'kk_name $i',
        }
    ];
    
    class Foo {
      final String code, region, district, center, locality, ru, kk;
      Foo._({
        required this.center,
        required this.code,
        required this.district,
        required this.kk,
        required this.locality,
        required this.region,
        required this.ru,
      });
      factory Foo(Map<String, Object?> json) {
        return Foo._(
            center: json['locality_center'] as String,
            code: json['code'] as String,
            district: json['district'] as String,
            kk: json['kk_name'] as String,
            locality: json['locality'] as String,
            region: json['region'] as String,
            ru: json['ru_name'] as String);
      }
    }
    
    void main() {
      runApp(
        const MaterialApp(
          showPerformanceOverlay: true,
          home: MyHomePage(),
        ),
      );
    }
    
    class MyHomePage extends StatefulWidget {
      const MyHomePage() : super(key: const ValueKey('MyHomePage'));
    
      @override
      _MyHomePageState createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      late final ScrollController _controller;
    
      @override
      void initState() {
        super.initState();
        _controller = ScrollController();
      }
    
      @override
      void dispose() {
        _controller.dispose();
        super.dispose();
      }
    
      @override
      Widget build(BuildContext context) {
        print('${_manyMaps.length}');
        return Scaffold(
          body: ListView.builder(
            controller: _controller,
            itemCount: _manyMaps.length,
            itemBuilder: (context, index) {
              final foo = Foo(_manyMaps[index]);
              print('${foo.code}');
              return Row(
                children: [
                  Text(foo.center),
                  const SizedBox(width: 20),
                  Text(foo.code),
                  const SizedBox(width: 20),
                  Text(foo.district),
                  const SizedBox(width: 20),
                  Text(foo.kk),
                  const SizedBox(width: 20),
                  Text(foo.locality),
                  const SizedBox(width: 20),
                  Text(foo.region),
                  const SizedBox(width: 20),
                  Text(foo.ru),
                ],
              );
            },
          ),
          floatingActionButton: FloatingActionButton(
            onPressed: () => _controller.animateTo(
              _controller.position.maxScrollExtent,
              duration: const Duration(seconds: 5),
              curve: Curves.easeOut,
            ),
            child: const Icon(Icons.arrow_downward),
          ),
        );
      }
    }
    
    flutter run --release -v
    [ +112 ms] ✓  Built build/app/outputs/flutter-apk/app-release.apk (6.0MB).
    [   +4 ms] executing: /home/francesco/Android/Sdk/build-tools/30.0.2/aapt dump
    xmltree /home/francesco/projects/issue/build/app/outputs/flutter-apk/app.apk
    AndroidManifest.xml
    [   +7 ms] Exit code 0 from: /home/francesco/Android/Sdk/build-tools/30.0.2/aapt
    dump xmltree
    /home/francesco/projects/issue/build/app/outputs/flutter-apk/app.apk
    AndroidManifest.xml
    [        ] N: android=http://schemas.android.com/apk/res/android
                 E: manifest (line=2)
                   A: android:versionCode(0x0101021b)=(type 0x10)0x1
                   A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
                   A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
                   A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
                   A: package="com.example.issue" (Raw: "com.example.issue")
                   A: platformBuildVersionCode=(type 0x10)0x1e
                   A: platformBuildVersionName=(type 0x10)0xb
                   E: uses-sdk (line=7)
                     A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                     A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
                   E: application (line=11)
                     A: android:label(0x01010001)="issue" (Raw: "issue")
                     A: android:icon(0x01010002)=@0x7f080000
                     A:
                     android:appComponentFactory(0x0101057a)="androidx.core.app.Core
                     ComponentFactory" (Raw:
                     "androidx.core.app.CoreComponentFactory")
                     E: activity (line=15)
                       A: android:theme(0x01010000)=@0x7f0a0000
                       A: android:name(0x01010003)="com.example.issue.MainActivity"
                       (Raw: "com.example.issue.MainActivity")
                       A: android:launchMode(0x0101001d)=(type 0x10)0x1
                       A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                       A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                       A: android:hardwareAccelerated(0x010102d3)=(type
                       0x12)0xffffffff
                       E: meta-data (line=29)
                         A:
                         android:name(0x01010003)="io.flutter.embedding.android.Norm
                         alTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                         A: android:resource(0x01010025)=@0x7f0a0001
                       E: meta-data (line=39)
                         A:
                         android:name(0x01010003)="io.flutter.embedding.android.Spla
                         shScreenDrawable" (Raw:
                         "io.flutter.embedding.android.SplashScreenDrawable")
                         A: android:resource(0x01010025)=@0x7f040000
                       E: intent-filter (line=43)
                         E: action (line=44)
                           A: android:name(0x01010003)="android.intent.action.MAIN"
                           (Raw: "android.intent.action.MAIN")
                         E: category (line=46)
                           A:
                           android:name(0x01010003)="android.intent.category.LAUNCHE
                           R" (Raw: "android.intent.category.LAUNCHER")
                     E: meta-data (line=53)
                       A: android:name(0x01010003)="flutterEmbedding" (Raw:
                       "flutterEmbedding")
                       A: android:value(0x01010024)=(type 0x10)0x2
    [   +3 ms] Stopping app 'app.apk' on Pixel 3a.
    [        ] executing: /home/francesco/Android/Sdk/platform-tools/adb -s
    965AY0WP5C shell am force-stop com.example.issue
    [ +125 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s
    965AY0WP5C shell pm list packages com.example.issue
    [ +104 ms] package:com.example.issue
    [   +5 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s
    965AY0WP5C shell cat /data/local/tmp/sky.com.example.issue.sha1
    [  +94 ms] 900c5ff46a5986d2339e084e00a4e03d07ccedf6
    [   +2 ms] Latest build already installed.
    [   +2 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s
    965AY0WP5C shell am start -a android.intent.action.RUN -f 0x20000000 --ez
    enable-background-compilation true --ez enable-dart-profiling true
    com.example.issue/com.example.issue.MainActivity
    [ +109 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000
    cmp=com.example.issue/.MainActivity (has extras) }
    [   +6 ms] Application running.
    [   +9 ms] Flutter run key commands.
    [   +5 ms] h Repeat this help message.
    [   +1 ms] c Clear the screen
    [   +1 ms] q Quit (terminate the application on the device).
    [ +477 ms] I/flutter ( 9193): 15000
    [   +1 ms] I/flutter ( 9193): code 0
    [   +4 ms] I/flutter ( 9193): code 1
    [        ] I/flutter ( 9193): code 2
    [   +1 ms] I/flutter ( 9193): code 3
    [   +2 ms] I/flutter ( 9193): code 4
    [        ] I/flutter ( 9193): code 5
    [   +1 ms] I/flutter ( 9193): code 6
    [   +1 ms] I/flutter ( 9193): code 7
    [   +1 ms] I/flutter ( 9193): code 8
    [   +1 ms] I/flutter ( 9193): code 9
    [   +1 ms] I/flutter ( 9193): code 10
    [   +1 ms] I/flutter ( 9193): code 11
    [        ] I/flutter ( 9193): code 12
    [   +1 ms] I/flutter ( 9193): code 13
    [   +1 ms] I/flutter ( 9193): code 14
    [   +1 ms] I/flutter ( 9193): code 15
    [   +1 ms] I/flutter ( 9193): code 16
    [        ] I/flutter ( 9193): code 17
    [   +2 ms] I/flutter ( 9193): code 18
    [        ] I/flutter ( 9193): code 19
    [   +2 ms] I/flutter ( 9193): code 20
    [        ] I/flutter ( 9193): code 21
    [        ] I/flutter ( 9193): code 22
    [   +1 ms] I/flutter ( 9193): code 23
    [        ] I/flutter ( 9193): code 24
    [   +2 ms] I/flutter ( 9193): code 25
    [   +1 ms] I/flutter ( 9193): code 26
    [   +1 ms] I/flutter ( 9193): code 27
    [        ] I/flutter ( 9193): code 28
    [   +1 ms] I/flutter ( 9193): code 29
    [   +1 ms] I/flutter ( 9193): code 30
    [   +1 ms] I/flutter ( 9193): code 31
    [   +1 ms] I/flutter ( 9193): code 32
    [   +2 ms] I/flutter ( 9193): code 33
    [        ] I/flutter ( 9193): code 34
    [        ] I/flutter ( 9193): code 35
    [        ] I/flutter ( 9193): code 36
    [   +1 ms] I/flutter ( 9193): code 37
    [   +1 ms] I/flutter ( 9193): code 38
    [   +1 ms] I/flutter ( 9193): code 39
    [        ] I/flutter ( 9193): code 40
    [        ] I/flutter ( 9193): code 41
    [        ] I/flutter ( 9193): code 42
    [        ] I/flutter ( 9193): code 43
    [   +1 ms] I/flutter ( 9193): code 44
    [   +1 ms] I/flutter ( 9193): code 45
    [   +2 ms] I/flutter ( 9193): code 46
    [   +1 ms] I/flutter ( 9193): code 47
    [   +1 ms] I/flutter ( 9193): code 48
    [        ] I/flutter ( 9193): code 49
    [        ] I/flutter ( 9193): code 50
    [        ] I/flutter ( 9193): code 51
    [        ] I/flutter ( 9193): code 52
    [   +1 ms] I/flutter ( 9193): code 53
    [   +1 ms] I/flutter ( 9193): code 54
    [   +1 ms] I/flutter ( 9193): code 55
    [        ] I/flutter ( 9193): code 56
    [   +1 ms] I/flutter ( 9193): code 57
    [   +1 ms] I/flutter ( 9193): code 58
    [   +1 ms] I/flutter ( 9193): code 59
    [   +1 ms] I/flutter ( 9193): code 60
    [   +1 ms] I/flutter ( 9193): code 61
    
    doctor
    [✓] Flutter (Channel master, 2.1.0-13.0.pre.574, on Linux, locale en_US.UTF-8)
        • Flutter version 2.1.0-13.0.pre.574 at
          /home/francesco/snap/flutter/common/flutter
        • Framework revision 02efffc134 (26 hours ago), 2021-04-10 03:49:01 -0400
        • Engine revision 8863afff16
        • Dart version 2.13.0 (build 2.13.0-222.0.dev)
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
        • Android SDK at /home/francesco/Android/Sdk
        • Platform android-30, build-tools 30.0.2
        • ANDROID_SDK_ROOT = /home/francesco/Android/Sdk
        • Java binary at: /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin/java
        • Java version OpenJDK Runtime Environment (build
          1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)
        • All Android licenses accepted.
    
    [✓] Chrome - develop for the web
        • CHROME_EXECUTABLE = /snap/bin/chromium
    
    [✓] Linux toolchain - develop for Linux desktop
        • clang version 10.0.0-4ubuntu1
        • cmake version 3.16.3
        • ninja version 1.10.0
        • pkg-config version 0.29.1
    
    [!] Android Studio (not installed)
        • Android Studio not found; download from
          https://developer.android.com/studio/index.html
          (or visit https://flutter.dev/docs/get-started/install/linux#android-setup
          for detailed instructions).
    
    [✓] Connected device (3 available)
        • Pixel 3a (mobile) • 965AY0WP5C • android-arm64  • Android 11 (API 30)
        • Linux (desktop)   • linux      • linux-x64      • Linux
        • Chrome (web)      • chrome     • web-javascript • Chromium 89.0.4389.114
          snap
    
    ! Doctor found issues in 1 category.
    

    scroll issue

    @ta9ki

    Вы желаете пользователю показывать такие длинные списки? если нет, то используйте SQLITE или HIVE

    Do you want the user to show such long lists? if not then use SQLITE or HIVE

    in some case it might be useful to cache a big chunk of data rather query every single element of the list,

    edit

    assigning to the animation a duration equal to 16333 microseconds (roughly a frame at 60 fps) times the number of items
    the behavior is less bad, but still bad...
    there's a lost second between the expected and the actual duration

    code sample
    import 'package:flutter/material.dart';
    
    final _manyMaps = [
      for (var i = 0; i < 15000; ++i)
        {
          'code': 'code $i',
          'region': 'region $i',
          'district': 'district $i',
          'locality_center': 'locality_center $i',
          'locality': 'locality $i',
          'ru_name': 'ru_name $i',
          'kk_name': 'kk_name $i',
        }
    ];
    
    class Foo {
      final String code, region, district, center, locality, ru, kk;
      Foo._({
        required this.center,
        required this.code,
        required this.district,
        required this.kk,
        required this.locality,
        required this.region,
        required this.ru,
      });
      factory Foo(Map<String, Object?> json) {
        return Foo._(
            center: json['locality_center'] as String,
            code: json['code'] as String,
            district: json['district'] as String,
            kk: json['kk_name'] as String,
            locality: json['locality'] as String,
            region: json['region'] as String,
            ru: json['ru_name'] as String);
      }
    }
    
    void main() {
      runApp(
        const MaterialApp(
          showPerformanceOverlay: true,
          home: MyHomePage(),
        ),
      );
    }
    
    class MyHomePage extends StatefulWidget {
      const MyHomePage() : super(key: const ValueKey('MyHomePage'));
    
      @override
      _MyHomePageState createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      late final ScrollController _controller;
    
      @override
      void initState() {
        super.initState();
        _controller = ScrollController();
      }
    
      @override
      void dispose() {
        _controller.dispose();
        super.dispose();
      }
    
      void _scrollToBottom() async {
        final duration = Duration(microseconds: 16333 * _manyMaps.length);
        print('expected duration: ${duration.inSeconds}');
        final start = DateTime.now();
        await _controller.animateTo(
          _controller.position.maxScrollExtent,
          duration: duration,
          curve: Curves.easeOut,
        );
        print('actual duration: ${DateTime.now().difference(start).inSeconds}');
      }
    
      @override
      Widget build(BuildContext context) {
        print('${_manyMaps.length}');
        return Scaffold(
          body: ListView.builder(
            controller: _controller,
            itemCount: _manyMaps.length,
            itemBuilder: (context, index) {
              final foo = Foo(_manyMaps[index]);
              return Row(
                children: [
                  const FlutterLogo(),
                  Text(foo.center),
                  const SizedBox(width: 20),
                  Text(foo.code),
                  const SizedBox(width: 20),
                  Text(foo.district),
                  const SizedBox(width: 20),
                  Text(foo.kk),
                  const SizedBox(width: 20),
                  Text(foo.locality),
                  const SizedBox(width: 20),
                  Text(foo.region),
                  const SizedBox(width: 20),
                  Text(foo.ru),
                ],
              );
            },
          ),
          floatingActionButton: FloatingActionButton(
            onPressed: _scrollToBottom,
            child: const Icon(Icons.arrow_downward),
          ),
        );
      }
    }
    
    flutter run --release -v
    [ +124 ms] ✓  Built build/app/outputs/flutter-apk/app-release.apk (6.1MB).
    [   +3 ms] executing: /home/francesco/Android/Sdk/build-tools/30.0.2/aapt dump xmltree /home/francesco/projects/issue/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
    [   +7 ms] Exit code 0 from: /home/francesco/Android/Sdk/build-tools/30.0.2/aapt dump xmltree /home/francesco/projects/issue/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
    [        ] N: android=http://schemas.android.com/apk/res/android
                 E: manifest (line=2)
                   A: android:versionCode(0x0101021b)=(type 0x10)0x1
                   A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
                   A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
                   A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
                   A: package="com.example.issue" (Raw: "com.example.issue")
                   A: platformBuildVersionCode=(type 0x10)0x1e
                   A: platformBuildVersionName=(type 0x10)0xb
                   E: uses-sdk (line=7)
                     A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                     A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
                   E: application (line=11)
                     A: android:label(0x01010001)="issue" (Raw: "issue")
                     A: android:icon(0x01010002)=@0x7f080000
                     A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")
                     E: activity (line=15)
                       A: android:theme(0x01010000)=@0x7f0a0000
                       A: android:name(0x01010003)="com.example.issue.MainActivity" (Raw: "com.example.issue.MainActivity")
                       A: android:launchMode(0x0101001d)=(type 0x10)0x1
                       A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                       A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                       A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                       E: meta-data (line=29)
                         A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                         A: android:resource(0x01010025)=@0x7f0a0001
                       E: meta-data (line=39)
                         A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw: "io.flutter.embedding.android.SplashScreenDrawable")
                         A: android:resource(0x01010025)=@0x7f040000
                       E: intent-filter (line=43)
                         E: action (line=44)
                           A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                         E: category (line=46)
                           A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                     E: meta-data (line=53)
                       A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                       A: android:value(0x01010024)=(type 0x10)0x2
    [   +1 ms] Stopping app 'app.apk' on Pixel 3a.
    [        ] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell am force-stop com.example.issue
    [ +117 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell pm list packages com.example.issue
    [ +109 ms] package:com.example.issue
    [   +5 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell cat /data/local/tmp/sky.com.example.issue.sha1
    [  +71 ms] 7ecb83a57d40c8f2995a091398a620137592737a
    [   +1 ms] Installing APK.
    [   +3 ms] Installing build/app/outputs/flutter-apk/app.apk...
    [        ] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C install -t -r /home/francesco/projects/issue/build/app/outputs/flutter-apk/app.apk
    [+1079 ms] Performing Streamed Install
                        Success
    [   +4 ms] Installing build/app/outputs/flutter-apk/app.apk... (completed in 1,080ms)
    [   +3 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell echo -n cf75a6fe5f108a28e47116686215b299195d6ece > /data/local/tmp/sky.com.example.issue.sha1
    [  +36 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez
    enable-dart-profiling true com.example.issue/com.example.issue.MainActivity
    [  +87 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.issue/.MainActivity (has extras) }
    [   +5 ms] Application running.
    [   +6 ms] Flutter run key commands.
    [   +4 ms] h Repeat this help message.
    [   +1 ms] c Clear the screen
    [        ] q Quit (terminate the application on the device).
    [ +608 ms] I/flutter (11689): 15000
    [+12955 ms] I/flutter (11689): expected duration: 244
    [+245043 ms] I/flutter (11689): actual duration: 245
    [+14296 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell am force-stop com.example.issue
    [ +164 ms] executing: /home/francesco/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell am force-stop com.example.issue
    [  +80 ms] Application finished.
    [  +20 ms] "flutter run" took 305,723ms.
    [ +266 ms] ensureAnalyticsSent: 254ms
    [   +5 ms] Running shutdown hooks
    [   +1 ms] Shutdown hooks complete
    [   +1 ms] exiting with code 0
    

    video (about 4 minutes)

  5. nausharipov commented on Apr 11, 2021

    @nausharipov
    Author

    @hamdikahloun the code sample @iapicca sent is accurate. Here's my flutter doctor:
    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel stable, 2.0.4, on macOS 11.2.3 20D91 darwin-arm, locale en)
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    [✓] Xcode - develop for iOS and macOS
    [✓] Chrome - develop for the web
    [✓] Android Studio (version 4.1)
    [✓] VS Code (version 1.55.1)
    [✓] Connected device (2 available)

    • No issues found!

  6. removed
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Apr 11, 2021
  7. agod777 commented on Apr 11, 2021

    @agod777
  8. darshankawar commented on Apr 12, 2021

    @darshankawar
    Member
    flutter doctor -v
    [✓] Flutter (Channel stable, 2.0.4, on Mac OS X 10.15.4 19E2269 darwin-x64,
        locale en-GB)
        • Flutter version 2.0.4 at /Users/dhs/documents/fluttersdk/flutter
        • Framework revision b1395592de (7 days ago), 2021-04-01 14:25:01 -0700
        • Engine revision 2dce47073a
        • Dart version 2.12.2
    
    [!] Xcode - develop for iOS and macOS
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 12.3, Build version 12C33
        ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
            CocoaPods is used to retrieve the iOS and macOS platform side's plugin
            code that responds to your plugin usage on the Dart side.
            Without CocoaPods, plugins will not work on iOS or macOS.
            For more info, see https://flutter.dev/platform-plugins
          To upgrade see
          https://guides.cocoapods.org/using/getting-started.html#installation for
          instructions.
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    [✓] Android Studio (version 4.1)
        • 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
          1.8.0_242-release-1644-b3-6915495)    
    
    [✓] VS Code (version 1.55.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.20.0
    
    [✓] Connected device (3 available)
        • SM A260G (mobile)            • 5200763ebcfa861f • android-arm    • Android
          8.1.0 (API 27)
        • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
          • iOS 14.4.1
        • macOS (desktop)           • macos                                    •
          darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
        • Chrome (web)              • chrome                                   •
          web-javascript • Google Chrome 89.0.4389.114
    
    ! Doctor found issues in 1 category.
    
    
  9. added
    f: scrollingViewports, list views, slivers, etc.
    frameworkflutter/packages/flutter repository. See also f: labels.
    has reproducible stepsThe issue has been confirmed reproducible and is ready to work on
    c: performanceRelates to speed or footprint issues (see "perf:" labels)
    and removed
    in triagePresently being triaged by the triage team
    on Apr 12, 2021
  10. added
    P2Important issues not at the top of the work list
    on May 4, 2022
  11. exaby73 commented on May 11, 2022

    @exaby73
    Member

    This issue still persists on stable and master as of writing this. Refer to @iapicca's comment here for the code samples I used for this test. The outcome is the same

    flutter doctor -v
    [✓] Flutter (Channel master, 2.13.0-0.0.pre.1026, on macOS 12.3.1 21E258 darwin-arm, locale en-US)
        • Flutter version 2.13.0-0.0.pre.1026 at /Users/nabeelparkar/fvm/versions/master
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision c1b909e3fc (5 hours ago), 2022-05-10 22:49:08 -0700
        • Engine revision 70c5bdfa3b
        • Dart version 2.18.0 (build 2.18.0-103.0.dev)
        • DevTools version 2.13.1
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0-rc1)
        • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
        • Platform android-32, build-tools 32.0.0-rc1
        • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
        • Java binary at: /opt/homebrew/opt/openjdk@11/bin/java
        • Java version OpenJDK Runtime Environment Homebrew (build 11.0.15+0)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • CocoaPods version 1.11.3
    
    [✓] Chrome - develop for the web
        • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser
    
    [!] Android Studio (not installed)
        • Android Studio not found; download from https://developer.android.com/studio/index.html
          (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
    
    [✓] IntelliJ IDEA Ultimate Edition (version 2022.1)
        • IntelliJ at /Applications/IntelliJ IDEA.app
        • Flutter plugin version 67.0.4
        • Dart plugin version 221.5588
    
    [✓] VS Code (version 1.67.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.40.0
    
    [✓] Connected device (3 available)
        • V2050 (mobile)  • 3085425058000NM • android-arm64  • Android 12 (API 31)
        • macOS (desktop) • macos           • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
        • Chrome (web)    • chrome          • web-javascript • Brave Browser 101.1.38.111
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    ! Doctor found issues in 1 category.
    
  12. iapicca commented on Aug 8, 2024

    @iapicca

    I'm observing some strange behavior from `ScrollController, I opened an issue to investigate

  13. github-actions commented on Aug 22, 2024

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  14. locked as resolved and limited conversation to collaborators on Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: animationAnimation APIsc: performanceRelates to speed or footprint issues (see "perf:" labels)f: scrollingViewports, list views, slivers, etc.found in release: 2.10Found to occur in 2.10found in release: 2.13Found to occur in 2.13frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onteam-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions