Le poids d'une app Flutter Android

Bonjour !

Juste une petite question concernant le poids des app Flutter, en effet, j’ai conçu une application très simple (une sorte de télécommande pour une app Pc plus importante), n’intégrant pas de médias (à part un logo et deux icônes…) et je me retrouve avec une app de 70mo. Est-ce normal ?

Ca me parait énorme comme taille, à titre de comparaison, l’app de Purple Giraffe pèse 30mo.

Hello,

J’ai fait quelques essais :

flutter build apk
✓  Built build/app/outputs/flutter-apk/app-release.apk (51.7MB).

La génération apk par défaut contient du code pour les 3 types de processeurs, si tu veux les séparer tu peux utiliser la commande suivante :

flutter build apk --split-per-abi
✓  Built build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk (18.1MB).
✓  Built build/app/outputs/flutter-apk/app-arm64-v8a-release.apk (20.2MB).
✓  Built build/app/outputs/flutter-apk/app-x86_64-release.apk (21.1MB).

Sinon pour compiler pour le playstore il faut mieux utiliser la commande suivante :

flutter build appbundle
✓ Built build/app/outputs/bundle/release/app-release.aab (24.5MB).

Tu peux aussi utiliser --analyse-size lors de la compilation expl :

flutter build apk --target-platform android-arm --analyze-size
✓  Built build/app/outputs/flutter-apk/app-release.apk (18.1MB).
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
app-release.apk (total compressed)                                         18 MB
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  META-INF/
    CERT.SF                                                                36 KB
    CERT.RSA                                                                1 KB
    MANIFEST.MF                                                            26 KB
  classes.dex                                                               1 MB
  classes2.dex                                                            139 KB
  lib/
    armeabi-v7a                                                            14 MB
    Dart AOT symbols accounted decompressed size                            8 MB
      package:flutter                                                       3 MB
      dart:core                                                           416 KB
      dart:ui                                                             301 KB
      dart:typed_data                                                     285 KB
      dart:io                                                             267 KB
      package:territoiregn                                                208 KB
      dart:collection                                                     176 KB
      package:dbus                                                        159 KB
      dart:async                                                          140 KB
      package:flutter_map                                                 125 KB
      package:markdown                                                    102 KB
      dart:convert                                                         87 KB
      dart:ffi                                                             75 KB
      package:gsettings                                                    74 KB
      package:flutter_map_tile_caching                                     65 KB
      package:material_color_utilities                                     63 KB
      package:flutter_map_marker_cluster                                   63 KB
      package:intl                                                         61 KB
      package:syncfusion_flutter_sliders                                   60 KB
      package:source_span                                                  55 KB
  assets/
    flutter_assets                                                          1 MB
  AndroidManifest.xml                                                       3 KB
  res/
    33.9.png                                                                2 KB
    74.png                                                                  1 KB
    CG.png                                                                  1 KB
    ER.9.png                                                                2 KB
    FM.9.png                                                                1 KB
    J6.9.png                                                                2 KB
    Ji.png                                                                 14 KB
    L1.png                                                                  8 KB
    LY.png                                                                  3 KB
    Mr.9.png                                                                1 KB
    Pi.9.png                                                                3 KB
    Q11.9.png                                                               3 KB
    Vq.png                                                                  1 KB
    cQ.png                                                                 21 KB
    color-v23                                                               2 KB
    color                                                                  14 KB
    e1.xml                                                                  1 KB
    eB.9.png                                                                2 KB
    gV.9.png                                                                1 KB
    j9.xml                                                                1001 B
    kg.png                                                                  1 KB
    r9.png                                                                  2 KB
    ra.png                                                                  5 KB
    tj.9.png                                                                2 KB
    wi.9.png                                                                2 KB
    wi1.9.png                                                               1 KB
    ya.xml                                                                  1 KB
  resources.arsc                                                          923 KB
  kotlin/
    collections                                                             1 KB
    kotlin.kotlin_builtins                                                  5 KB
    ranges                                                                  1 KB
    reflect                                                                 1 KB
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

A summary of your APK analysis can be found at: /home/fracos/.flutter-devtools/apk-code-size-analysis_01.json

To analyze your app size in Dart DevTools, run the following command:
flutter pub global activate devtools; flutter pub global run devtools --appSizeBase=apk-code-size-analysis_01.json

Ou sinon, en compilant un bundle, tu peux l’ouvrir avec un gestionnaire d’archive comme 7zip (Engrampa dans mon cas) pour voir quels sont les dossiers et fichiers qui prennent le plus de place.

C’est intéressant de passer par la car certains package tiers comme flutter_animated_icons contiennent énormément de fichiers dans les assets ce qui alourdi considérablement les applications pour rien (surtout quand on utilise 3/4 icônes seulement).

2 « J'aime »

Merci @isanforc pour ton retour !

Je te remercie pour avoir poser la question, je ne m’était pas trop attardé sur le sujet et cela m’a permis de gagner 17.5Mo en retirant le package flutter_animated_icons :slight_smile: .

image

Le fichier *.aab contient les 4 architectures : armv8, armv7, x86, x86_64, donc quand on télécharge une app sur le Play Store, on ne télécharge qu’une arch, le poids de l’app est donc bien inférieur au poids du fichier *.aab.

1 « J'aime »