Chaque application Flutter contient-elle un moteur Flutter?
J'essaye de digérer les informations suivantes du site Flutter.
Comment Flutter exécute-t-il mon code sur Android?
Les codes C et C ++ du moteur sont compilés avec le NDK d'Android. Le code Dart (à la fois le SDK et le vôtre) est compilé à l'avance (AOT) dans des bibliothèques natives, ARM et x86. Ces bibliothèques sont incluses dans un projet Android «runner», et le tout est intégré dans un APK. Une fois lancée, l'application charge la bibliothèque Flutter. Tout rendu, entrée ou gestion d'événement, etc., est délégué au code Flutter et d'application compilé. Ceci est similaire au fonctionnement de nombreux moteurs de jeu.
Chaque application Flutter (plus précisément chaque application Android créée avec Flutter) est-elle publiée avec le moteur Flutter attaché?
Réponses
Oui, il est inclus dans chaque application. Il n'y a pas de partage de code entre les applications sur Android / iOS. De plus, chaque application peut avoir une version différente du moteur (en fonction du moment où elle a été compilée)
Notez qu'avec le prochain Flutter 1.0, la surcharge (sur Android) est inférieure à 5M, ce qui n'est pas mal. Je pense que la surcharge est similaire sur iOS.
libflutter.so fait 27,1 Mo sur mon émulateur pour chacune d'une application complète / de production et d'une application hello world.