Monzo steigert die Leistungsmesswerte mit einem einfachen R8-Update um bis zu 35 %
Lesezeit: 2 Minuten
Monzo ist eine digitale Bank im Vereinigten Königreich mit 15 Millionen Kunden und wachsender Tendenz. Als die App skaliert wurde, erkannte das Entwicklerteam, dass die Startzeit der App ein wichtiger Bereich für Verbesserungen war, befürchtete jedoch, dass dies erhebliche Änderungen an der Codebasis erfordern würde.
Durch die vollständige Aktivierung der R8-Optimierungen konnte Monzo die Rate der „App antwortet nicht“-Fehler um 35% senken. Diese einfache Änderung hat gezeigt, dass wirkungsvolle Optimierungen nicht immer komplexe technische Maßnahmen erfordern.
Leistungssteigerungen mit dem R8-Vollmodus
Monzo hat den R8-Vollmodus als einfache Lösung identifiziert, die es wert ist, ausprobiert zu werden. Und es hat funktioniert – die Leistung wurde auf ganzer Linie verbessert:
- Zuverlässigkeit beim Start:Kaltstarts wurden um 30%, Warmstarts um 24 % und Heißstarts um 14 % verbessert.
- Startgeschwindigkeit:Die P50-Startzeiten wurden um 11% und die P90-Startzeiten um 12 % verbessert.
- Effizienz:Die Gesamtgröße der App wurde um 9 % reduziert.
- Stabilität:35 % weniger ANR-Fehler.
Optimierungen mit einer einzigen Änderung aktivieren
Viele Android-Apps verwenden eine veraltete Standardkonfigurationsdatei, die die meisten Funktionen des R8-Optimierers deaktiviert. Die wichtigste Änderung, die Monzo vorgenommen hat, um diese Leistungsverbesserungen zu erzielen, war das Ersetzen der Standarddatei proguard-android.txt durch proguard-android-optimize.txt. Durch diese Änderung wird die -dontoptimize-Anweisung entfernt und R8 kann seine Aufgabe ordnungsgemäß ausführen.
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
)
}
}Nachdem Sie diese Änderung vorgenommen haben, sollten Sie sich Ihre Keep-Konfigurationsdateien ansehen. Diese Dateien teilen R8 mit, welche Teile Ihres Codes nicht geändert werden sollen (normalerweise, weil sie dynamisch oder von externen Bibliotheken aufgerufen werden). Wenn Sie unnötige Keep-Regeln entfernen, kann R8 mehr leisten.
Scrollleistung mit Baseline-Profilen verbessern
Um die Nutzerfreundlichkeit weiter zu verbessern, hat Monzo Baseline-Profile implementiert, die speziell auf die Scroll- und Rendering-Leistung im Hauptfeed abzielen. So wurden die häufigsten User Journeys – das Öffnen der App und das Scrollen im Feed – vollständig optimiert. Die Auswirkungen auf das Rendering waren erheblich: Die P90-Scrollleistung wurde um 71% schneller und die P95-Scrollleistung verbesserte sich um 87%. Das Scrollen in der App ist jetzt flüssiger als zuvor.
Monzo hat dies in seinen Release-Prozess integriert, um diese Verbesserungen langfristig beizubehalten. „Wir stoßen die Erstellung des Baseline-Profils jeden Werktag an, bevor wir unsere nächtlichen Builds ausführen, und übernehmen die neuesten Änderungen, sobald sie abgeschlossen sind“, erklärt Neumayer.
Mit der modernen Android-Entwicklung Schritt halten
Das Beispiel von Monzo zeigt, was möglich ist, wenn man bei den Empfehlungen für Android-Build-Tools auf dem neuesten Stand bleibt. Während Legacy-Apps oft Probleme mit komplexer Reflexion haben, war der Übergang für Monzo dank der ordnungsgemäßen Dokumentation der Keep-Regeln unkompliziert. „Wir fügen immer einen Kommentar hinzu, in dem wir erklären, warum die Beibehaltungsregeln gelten, damit wir wissen, wann wir die Regeln sicher entfernen können“, so Neumayer.
Neumayers Rat für andere Teams? Regelmäßig die eigenen Praktiken mit aktuellen Standards vergleichen: „Sehen Sie sich die neuesten Empfehlungen von Google zur App-Leistung an und prüfen Sie, ob Sie alle aktuellen Empfehlungen befolgen.“
Weitere Informationen zu R8 und zum Einstieg finden Sie unter https://d.android.com/r8.
-
FallstudienGrab ist die führende Super-App in Südostasien. Sie bietet Millionen von Nutzern in acht Ländern Liefer-, Mobilitäts- und Finanzdienstleistungen über eine einzige App.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Lesezeit: 5 Minuten -
FallstudienWhatsApp ist die weltweit größte Messaging-Plattform mit Milliarden von Nutzern weltweit. Es ist das Standardkommunikationstool für Menschen in verschiedenen Regionen und verbindet Nutzer über private, zuverlässige und sichere Nachrichten.
Niharika Arora, Tracy Agyemang, Mayank Jain • Lesezeit: 8 Minuten -
FallstudienTinder hat es sich zur Aufgabe gemacht, echte Verbindungen zu fördern und zu inspirieren, indem es für jede neue Generation von Singles einfach und unterhaltsam ist, sich zu treffen.
Ajesh Pai, Ulises Uriel Verduzco Díaz , Tracy Agyemang • Lesezeit: 4 Minuten
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.