Ogni app flutter contiene il motore Flutter?

Sep 15 2020

Sto cercando di digerire le seguenti informazioni dal sito Flutter.

In che modo Flutter esegue il mio codice su Android?

Il codice C e C ++ del motore è compilato con NDK di Android. Il codice Dart (sia l'SDK che il tuo) è compilato in anticipo (AOT) in librerie native, ARM e x86. Queste librerie sono incluse in un progetto Android "runner" e il tutto è integrato in un APK. Quando viene avviata, l'app carica la libreria Flutter. Qualsiasi rendering, input o gestione di eventi e così via viene delegato a Flutter compilato e al codice dell'app. Questo è simile al modo in cui funzionano molti motori di gioco.

Ogni app Flutter (più precisamente ogni app Android creata con Flutter) è pubblicata con il motore Flutter allegato?

Risposte

2 DidierProphete Sep 15 2020 at 22:03

Sì, è incluso in ogni app. Non c'è condivisione del codice tra le app su Android / iOS. Inoltre ogni app potrebbe avere una versione diversa del motore (a seconda di quando è stata compilata)

Nota che con il prossimo Flutter 1.0, l'overhead (su Android) è inferiore a 5M, il che non è male. Credo che il sovraccarico sia simile su iOS.

1 JonnyH Sep 15 2020 at 22:05

libflutter.so è 27,1 MB sul mio emulatore per ciascuna app completa / di produzione e un'app hello world.