Fallstudien
Monzo steigert Leistungskennzahlen 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 Tendenz steigend. Mit zunehmender Größe der App stellte das Entwicklungsteam fest, dass die App-Startzeit ein kritischer Bereich für Verbesserungen war. Es befürchtete jedoch, dass dafür erhebliche Änderungen am Code erforderlich wären.
Durch die vollständige Aktivierung der R8-Optimierungen konnte Monzo die Rate der Fehler vom Typ „App antwortet nicht“ (Application Not Responding, ANR) um 35% senken. Diese einfache Änderung zeigte, dass wirkungsvolle Optimierungen nicht immer komplexe technische Maßnahmen erfordern.
Umfassende Leistungssteigerungen mit dem vollständigen Modus von R8
Monzo sah im vollständigen Modus von R8 eine einfache Lösung, die einen Versuch wert war. Und es funktionierte: Die Leistung wurde in allen Bereichen verbessert:
- Zuverlässigkeit beim Starten:Kaltstarts wurden um 30%, Warmstarts um 24 % und Hotstarts um 14 % verbessert.
- Startgeschwindigkeit:Die Startzeiten des P50 wurden um 11% und die Startzeiten des P90 um 12 % verbessert.
- Effizienz:Die Gesamtgröße der App wurde um 9 % reduziert.
- Stabilität:Die ANR-Rate wurde um 35 % gesenkt.
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, bestand darin, die Standarddatei proguard-android.txt durch proguard-android-optimize.txt zu ersetzen. Durch diese Änderung wird die Anweisung -dontoptimize entfernt und R8 kann seine Aufgabe ordnungsgemäß ausführen.
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
)
}
}
Nach dieser Änderung sollten Sie sich Ihre Keep-Konfigurationsdateien ansehen. In diesen Dateien wird R8 mitgeteilt, welche Teile des Codes nicht geändert werden sollen (in der Regel, 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 Renderingleistung im Hauptfeed ausgerichtet sind. Mit dieser Strategie wurden die häufigsten Nutzeraktionen – das Öffnen der App und das Scrollen durch den Feed – vollständig optimiert. Die Auswirkungen auf das Rendering waren erheblich: Die Scrollleistung des P90 wurde um 71% und die Scrollleistung des P95 um 87 % verbessert. Das Scrollen in der App ist jetzt flüssiger als zuvor.
Monzo hat diese Verbesserungen in den Releaseprozess integriert, um sie langfristig beizubehalten. „Wir lösen die Generierung von Baseline-Profilen jeden Wochentag aus, bevor wir unsere nächtlichen Builds ausführen, und übernehmen die neuesten Änderungen nach Abschluss“, erklärt Neumayer.
Mit der modernen Android-Entwicklung Schritt halten
Die Erfahrungen von Monzo zeigen, was möglich ist, wenn Sie die Empfehlungen für Android-Build-Tools im Blick behalten. Während ältere Apps oft mit der komplexen Verwendung von Reflection zu kämpfen haben, war die Umstellung für Monzo unkompliziert, da die Keep-Regeln ordnungsgemäß dokumentiert wurden. „Wir fügen immer einen Kommentar hinzu, in dem erklärt wird, warum Keep-Regeln vorhanden sind. So wissen wir, wann es sicher ist, die Regeln zu entfernen“, sagt Neumayer.
Was rät Neumayer anderen Teams? Überprüfen Sie Ihre Praktiken regelmäßig anhand der aktuellen Standards: „Sehen Sie sich die neuesten Empfehlungen von Google zur App-Leistung an und prüfen Sie, ob Sie alle aktuellen Ratschläge befolgen.“
Weitere Informationen zu R8 finden Sie unter https://d.android.com/r8.
Weiterlesen
-
Fallstudien
Karrot ist eine hyperlokale, communitybasierte Peer-to-Peer-Marktplatz-App, mit der Nutzer Artikel von anderen verifizierten Nutzern kaufen, an sie verkaufen und mit ihnen tauschen können. Seit dem Start in Südkorea im Jahr 2015 hat sich die Plattform auf globale Märkte ausgeweitet und über 43 Millionen registrierte Nutzer gewonnen.
Thomas Ezan, Tracy Agyemang • Lesezeit: 2 Minuten
-
Fallstudien
In der dynamischen Welt der sozialen Medien wird die Aufmerksamkeit der Nutzer schnell gewonnen oder verloren. Die Meta-Apps Facebook und Instagram gehören zu den größten sozialen Plattformen der Welt und werden von Milliarden Nutzern weltweit verwendet.
Mayuri Khinvasara Khabya, Tracy Agyemang • Lesezeit: 4 Minuten
-
Fallstudien
Wenn Sie eine Android-App für ein Wearable entwickeln, beginnt die eigentliche Arbeit, wenn sich der Bildschirm ausschaltet.
Breana Tate, Tracy Agyemang • Lesezeit: 4 Minuten
Auf dem Laufenden bleiben
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.