𝗣𝗿𝗼𝗳𝗶𝗹𝗲-𝗚𝘂𝗶𝗱𝗲𝗱 𝗢𝗽𝘁𝗶𝗺𝗶𝘇𝗮𝘁𝗶𝗼𝗻 𝗳𝗼𝗿 𝗔𝗻𝗱𝗿𝗼𝗶𝗱 𝗔𝗽𝗽 𝗦𝘁𝗮𝗿𝘁𝘂𝗽

Wir haben unseren Android Cold Start von 1,2 s auf 380 ms reduziert.

Die meisten Apps laufen beim ersten Start im langsamsten Kompilierungsmodus. Android verwendet den „Interpret-only“-Modus, wenn ein Benutzer Ihre App zum ersten Mal installiert. Das macht den Startup langsam. Das System optimiert den Code erst später während der Leerlaufzeiten.

Sie können dies mithilfe einer dreistufigen Pipeline beheben.

  1. Baseline Profiles erstellen Baseline Profiles teilen dem System mit, welche Klassen zum Zeitpunkt der Installation kompiliert werden sollen. Verwenden Sie Macrobenchmark, um diese in Ihrer CI-Pipeline zu erstellen. Unsere Profile deckten 12 % der Methoden ab, waren aber für 94 % der Startup-Zeit verantwortlich.

  2. DEX Layout Reordering aktivieren Dies ist eine einzige Zeile in Ihren Gradle-Properties. Sie weist R8 an, Startup-Klassen in Ihrer DEX-Datei zusammenzufassen. Dies reduziert Page Faults um 30 % bis 50 %. Wenn Klassen zusammenbleiben, lädt das System weniger unnötige Daten von der Festplatte.

  3. Cloud Profiles nutzen Google Play sammelt Profile von Benutzern und sendet sie an Neuinstallationen. Dies verstärkt Ihre Geschwindigkeitsgewinne.

Die Ergebnisse unserer Tests:

Wichtige Tipps für Ihren Workflow:

Kombinieren Sie diese Ebenen, um schnellere Apps zu entwickeln.

Quelle: https://dev.to/software_mvp-factory/profile-guided-optimization-for-android-app-startup-2i7a