Skip to content

Reduce --release apk and ipa sizes #16833

@eseidelGoogle

Description

@eseidelGoogle

We've had a bunch of issues related to this, most directly #12456 as another. Attempting to create an issue which we can drive to action.

Android Instant Apps #7614 will require a < 4MB initial .apk size (which doesn't have to include the Flutter engine perhaps, but should).

Our current "hello_world" apk size at time of writing is:
basic_material_app_android__compile release_size_bytes is 7907K
basic_material_app_ios__compile release_size_bytes is 9365K

My understanding is their is a ton of low hanging fruit here.

  • @mraleph has identified there is ~1mb of extra binary size in the dart runtime currently due to including observatory assets.
  • @chinmaygarde has previously stated that he believes there is about 1mb (compressed) of ICU data size to save with some compile flag changes.
  • It's possible we could even find a copy of ICU on Android or iOS which we could use directly (via GMSCore or other installed assets, we could even imagine having a fall-back path of locations to look). We investigated this in both Use system ICU on iOS #392 and Use system ICU on Android #394 but things may have changed.

I'm sure there is a ton more we could do here with some investigation. This was our 3rd most requested work area in our most recent user survey.

FYI @cbracken @Hixie

Metadata

Metadata

Assignees

Labels

a: existing-appsIntegration with existing apps via the add-to-app flowa: sizeReducing IPA/APK/JS sizesc: performanceRelates to speed or footprint issues (see "perf:" labels)engineflutter/engine related. See also e: labels.perf: app sizePerformance issues related to app size (binary/code size) or disk space

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions