TL;DR
Google Play will start enforcing new Android memory, bitmap, and DEX optimization thresholds in February 2027. Flutter apps are included, and apps that miss the thresholds may see reduced Play Store visibility or publishing capabilities.
Apps with sign-in also face a separate Zero-Tap Sign-In requirement starting in April 2027.
What Changed
Google announced two new Google Play quality requirements on August 26, 2026. The first targets excessive memory use and under-optimized Android code.
Starting in February 2027, Google Play will evaluate apps and games against new bad-behavior thresholds for:
- Dynamic memory usage – anonymous RSS plus swap across app states and device RAM categories.
- Bitmap memory usage – especially bitmaps retained while an app is backgrounded or cached.
- DEX code optimization – Google requires at least 25% coverage across optimization, shrinking, and obfuscation using R8 or an equivalent shrinking tool.
Apps that exceed the thresholds may be throttled or terminated by Android. Google also says non-compliant apps may lose Play Store visibility or publishing capabilities.
What This Means for Flutter Apps
Flutter apps are not exempt from the new Google Play requirements.
The good news is that Flutter release builds already use R8 for Android release APKs and app bundles. Code shrinking is enabled for release builds, so most current Flutter projects already have an important part of the optimization pipeline in place.
However, passing a release build is not the same as passing Google’s new Play quality thresholds. Developers still need to measure the actual app on representative Android devices and review the new Android vitals metrics in Play Console.
Flutter’s DevTools Memory view is useful before release. It exposes heap, native memory, RSS, allocation snapshots, and tools for finding memory leaks and memory bloat. Play Console should remain the source of truth for the Google Play thresholds because Google measures its own memory metrics across device RAM buckets and app states.
Key Developer Changes
- February 2027 – Google Play begins enforcing memory, bitmap, and DEX optimization thresholds.
- Play visibility – Apps that miss the thresholds may receive reduced store visibility.
- Publishing capabilities – Google says publishing capabilities may also be restricted for apps that fail the requirements.
- New Android vitals data – Play Console is adding dynamic memory, bitmap memory, out-of-memory crash, and DEX optimization insights.
- 25% DEX optimization coverage – Published Android App Bundles must meet Google’s minimum optimization coverage requirement.
- April 2027 – Apps with optional or mandatory sign-in must support Zero-Tap Sign-In during device migration.
What Flutter Developers Should Do Now
- Upgrade to the current Flutter stable channel so your Android build tooling is current.
flutter upgrade
- Build the production Android App Bundle you actually intend to upload. Flutter release builds use R8 automatically.
flutter build appbundle --release
- Profile memory in a release-like environment instead of relying on debug builds. Use Flutter DevTools to look for steadily growing heap usage, retained objects, large decoded images, and unnecessary native memory.
flutter run --profile
- Upload an AAB to Play Console and review Android vitals. Watch the new memory and DEX optimization metrics as Google rolls them out.
- Audit image-heavy screens. Oversized decoded images, caches that retain bitmaps too long, and image lists that keep off-screen content alive can increase memory pressure.
- Audit lifecycle cleanup. Dispose controllers, listeners, streams, animation objects, and other resources when they are no longer needed.
- If the app has sign-in, add the April 2027 Zero-Tap Sign-In deadline to the Android roadmap. Google’s requirement uses the Android Restore Credentials API, so Flutter apps may need Android-native or plugin support depending on their authentication stack.
Upgrade Notes
No Flutter API migration is required by this Google Play announcement itself. The immediate work is profiling, Play Console monitoring, release optimization, and planning for the Android credential restoration requirement.
For Android release builds:
flutter build appbundle --release
For Flutter memory profiling:
flutter run --profile
Performance & Pitfalls
- Debug memory usage is not representative of a production Flutter build.
- DevTools RSS is useful for investigation, but Google’s Android vitals thresholds are the enforcement metric.
- R8 being enabled by default does not guarantee that an uploaded bundle will satisfy Google’s final DEX threshold.
- Large images can affect both Flutter/native memory and Android bitmap pressure.
- Test lower-RAM Android devices, not only current flagship hardware.
References
- Android Developers – Reducing memory usage and improving device migration
- Flutter – Build and release an Android app
- Flutter DevTools – Memory view
- Flutter – Measuring app size
Related FlutterWire Posts
- Flutter: How to Stop Unwanted Widget Rebuilds
- Flutter 3.44: Material and Cupertino Frozen, SwiftPM by Default, and Hybrid Composition++
- Dart 3.13 Primary Constructors: New Syntax Explained
Tested Versions
Tested with Flutter 3.47 stable and Dart 3.13.

Leave a Reply