-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)d: api docsIssues with https://api.flutter.dev/Issues with https://api.flutter.dev/f: routesNavigator, Router, and related APIs.Navigator, Router, and related APIs.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.team-frameworkOwned by Framework teamOwned by Framework teamtriaged-frameworkTriaged by Framework teamTriaged by Framework teamwaiting for PR to land (fixed)A fix is in flightA fix is in flight
Description
See felangel/bloc#669 for sample and examples.
Today I spent a lot of time trying to figure out why maintainState = false was maintaining the state. Basically, if I open 5 widgets, mainTainState = true maintains all five, mainTainState = false maintains only the first and last, and Navigator.pushReplacement only the last.
The issue is that maintainState (from MaterialPageRoute) explicitly says:
flutter/packages/flutter/lib/src/material/page.dart
Lines 22 to 24 in bcc93bc
| /// By default, when a modal route is replaced by another, the previous route | |
| /// remains in memory. To free all the resources when this is not necessary, set | |
| /// [maintainState] to false. |
This isn't true. When maintainState = false and you are using push, it is not freeing everything. I recommend you update the description to say what it is doing.
➜ flutter doctor -v
[✓] Flutter (Channel dev, v1.10.16, on Mac OS X 10.15.1 19B88, locale en-BR)
• Flutter version 1.10.16 at /usr/local/Cellar/flutter/dev
• Framework revision 798e4272a2 (7 days ago), 2019-11-06 21:04:17 -0500
• Engine revision 34a40cfbfd
• Dart version 2.7.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/bernardoferrari/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling
support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Users/bernardoferrari/Library/Application
Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/192.5984562/Android
Studio 4.0 Preview.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build
1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.2, Build version 11B52
• CocoaPods version 1.8.3
[!] Android Studio
• Android Studio at /Users/bernardoferrari/Library/Application
Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/192.5916306/Android
Studio 3.6 Preview.app/Contents
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
✗ Android Studio not found at /Users/bernardoferrari/Library/Application
Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/192.5916306/Android
Studio 3.6 Preview.app/Contents
• Try updating or re-installing Android Studio.
[!] Android Studio
• Android Studio at /Users/bernardoferrari/Library/Application
Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/192.5984562/Android
Studio 4.0 Preview.app/Contents
✗ Flutter plugin not installed; this adds Flutter specific functionality.
• Dart plugin version 192.7402
• Java version OpenJDK Runtime Environment (build
1.8.0_212-release-1586-b4-5784211)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.2.4)
• IntelliJ at /Users/bernardoferrari/Applications/JetBrains Toolbox/IntelliJ
IDEA Ultimate.app
• Flutter plugin version 38.2.4
• Dart plugin version 192.6459
[✓] VS Code (version 1.40.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.6.0
[✓] Connected device (1 available)
• Android SDK built for x86 64 • emulator-5554 • android-x64 • Android 10
(API 29) (emulator)
! Doctor found issues in 2 categories.
EugenePisotsky, snaeji and gfb-47
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)d: api docsIssues with https://api.flutter.dev/Issues with https://api.flutter.dev/f: routesNavigator, Router, and related APIs.Navigator, Router, and related APIs.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.team-frameworkOwned by Framework teamOwned by Framework teamtriaged-frameworkTriaged by Framework teamTriaged by Framework teamwaiting for PR to land (fixed)A fix is in flightA fix is in flight