Javaを使用したAndroidアプリ開発の経験が豊富です。最近、フラッターについて知りました。そこで、公式の tutorial に基づいて、フラッター付きのシンプルなAndroidアプリを作成しようとしました。しかし、驚くべきことに、デバッグアプリのサイズは25MBであり、リリースapkは7MB以上かかります。ネイティブに開発されたAndroidアプリと比較すると、本当に大きくなります。
最適化する方法はありますか?
Flutterチームはそれを認めています ここ 。
これについての説明があります here 、同じ引用-
2018年8月に、リリースAPKとしてバンドルおよび圧縮された、最小のFlutterアプリ(マテリアルコンポーネントなし、フラッタービルドapkで構築された単一のCenterウィジェットのみ)のサイズを約4.7MBと測定しました。
このシンプルなアプリの場合、コアエンジンは約3.2MB(圧縮)、フレームワーク+アプリコードは約840KB(圧縮)、LICENSEファイルは55KB(圧縮)、必要なJavaコード(classes.dex )は57KB(圧縮済み)で、約533KB(圧縮済み)ICUデータがあります。
もちろん、YMMV、およびflutter build apkを実行し、build/app/outputs/apk/release/app-release.apkを確認して、独自のアプリを測定することをお勧めします。
また、apkサイズの相対的な違いは、アプリが大きいほど小さくなる可能性があります。フラッターのオーバーヘッドサイズは固定です。
もちろん、フラッターで構築されたapkまたはipaのサイズは、hello worldアプリの場合、最小で7MBです。これは、flutterにはコアエンジン、フレームワーク、ICUデータ、LICENSEファイルなどが含まれ、ビルド出力はflutterアプリの実行に必須であるためです。
FAQ here をチェックして、ビルド時にどれくらいのサイズが必要かについて詳しく知ることができます。
お役に立てば幸いです!
この種のクロスプラットフォームアプリはすべて最初から大きくなっています
iは反応ネイティブで動作し、hello-worldアプリは約6 MBです
2つのリリースapkを作成し、1つを腕のCPU、もう1つをx86のCPUにすると、サイズを約4 MB小さくできますが、Androidほど小さくなりません
グーグルによると
aPKのサイズを小さくする1つの方法は、特定の画面密度またはABIのファイルを含む複数のAPKを作成することです。
詳細についてはこちらをご覧ください https://developer.Android.com/studio/build/configure-apk-splits.html
更新:私の完全にサポートされていない場合、将来的には確実に、フラッター開発のすべての段階でこの方法が機能しますが、ベータリリースではあまり多くありませんが、この方法はより多くのバージョンのフラッターをリリースすることでうまく機能します