Veranstaltungen und Programme

Vollständig optimiert: Abschluss der Performance Spotlight-Woche

Lesezeit: 3 Minuten

In der vergangenen Woche haben wir uns intensiv mit Best Practices und Anleitungen beschäftigt, mit denen Android-Apps schneller, kleiner und stabiler werden. Von den grundlegenden Funktionen des R8-Optimierers und der profilgesteuerten Optimierungen über Leistungsverbesserungen mit Jetpack Compose bis hin zu einem neuen Leitfaden zur Verbesserung der App-Leistung haben wir die Tools mit geringem Aufwand und großer Wirkung behandelt, die Sie für die Entwicklung einer leistungsstarken App benötigen.

Dieser Beitrag dient als Index und Leitfaden, damit Sie diese Ressourcen jederzeit wieder aufrufen können, wenn Sie Optimierungen vornehmen möchten. Hier sind die fünf wichtigsten Erkenntnisse aus unserer gemeinsamen Reise.

App mit dem R8-Optimierungstool beschleunigen

Die wirkungsvollste und am einfachsten umzusetzende Änderung ist die vollständige Aktivierung des R8-Optimierers. Es reduziert nicht nur die App-Größe, sondern führt auch umfassende Optimierungen des gesamten Programms durch, um den Code grundlegend umzuschreiben und so die Effizienz zu steigern. Überprüfen Sie Ihre Keep-Regeln und binden Sie R8 wieder in Ihre Entwicklungsaufgaben ein.

Unsere neu aktualisierte und erweiterte Dokumentation zum R8-Optimierer kann Ihnen dabei helfen.

Reddit konnte nach der Aktivierung des R8-Vollmodus einen um 40 % schnelleren Kaltstart und 30 % weniger ANR-Fehler verzeichnen.

Die vollständige Fallstudie finden Sie in unserem Blog.

image.png

Die Entwickler von Disney+ investieren in die App-Leistung und optimieren die Nutzerfreundlichkeit der App. Manchmal können selbst scheinbar kleine Änderungen große Auswirkungen haben. Bei der Überprüfung der R8-Konfiguration stellte das Team fest, dass das Flag -dontoptimize verwendet wurde. Nachdem das Disney+-Team die Optimierungen durch Entfernen dieses Flags aktiviert hatte, konnte es erhebliche Verbesserungen bei der Leistung der App feststellen.

image.png

Wenn Sie also das nächste Mal gefragt werden, was Sie tun können, um die App-Leistung zu verbessern, verweisen Sie einfach auf diesen Beitrag.

Weitere Informationen finden Sie im Blogpost zu Tag 1: Mit R8 Apps verkleinern, optimieren und schneller bereitstellen

Anleitung für eine bessere Leistung

Baseline-Profile machen die Just-in-Time-Kompilierung überflüssig und verbessern die Startgeschwindigkeit, das Scrollen, die Animation und die allgemeine Renderingleistung. Startprofile machen den App-Start noch einfacher, da die classes.dex-Dateien Ihrer App intelligent sortiert werden.

Weitere Informationen dazu, wie wichtig Baseline-Profile für die App-Leistung sind, finden Sie im Engineering-Blog von Meta. Dort wird beschrieben, wie Baseline-Profile verschiedene wichtige Leistungsmesswerte in den Apps von Meta um bis zu 40 % verbessert haben.

Wir arbeiten weiter daran, die Leistung von Jetpack Compose in Jetpack Compose 1.10 zu verbessern. Funktionen wie die pausierbare Komposition und das anpassbare Cache-Fenster sind entscheidend, um bei komplexen Listenelementen ein ruckelfreies Scrollen zu ermöglichen.In der neuesten Folge von #TheAndroidShow erklären wir das genauer.

Weitere Informationen finden Sie in unserem Blogpost vom Mittwoch: Deeper Performance Considerations

Leistungsmessung in drei einfachen Schritten

Was Sie nicht messen, können Sie nicht steuern. In unserem Leitfaden zur Leistungsoptimierung wird der Messprozess in fünf Schritte unterteilt, beginnend mit leicht verfügbaren Daten bis hin zu erweiterten lokalen Tools.

Auf Stufe 1 zeigen wir Ihnen, wie Sie leicht verfügbare Daten aus Android Vitals nutzen können, um Felddaten zu ANRs, Abstürzen und übermäßigem Akkuverbrauch zu erhalten.

Außerdem erfährst du, wie du dein Level erhöhen kannst. Wir zeigen euch beispielsweise, wie ihr mit lokalen Leistungstests Stufe 3 erreicht, indem ihr Jetpack Macrobenchmark und die neue UiAutomator 2.4 API verwendet, um jede Änderung der Leistung eurer App genau zu messen und zu überprüfen.

Weitere Informationen finden Sie in unserem Blogpost vom Donnerstag: [Link to Thursday's Blog: Leveling Guide for your Performance Journey]

Leistungs-Debugging jetzt noch besser

Erweiterte Optimierung sollte nicht bedeuten, dass Absturzberichte unlesbar sind. Neue Funktionen sollen Ihnen helfen, R8 und Hintergrundaufgaben zuverlässig zu debuggen:

Automatisches Logcat-Retrace

Ab Android Studio Narwhal können Stacktraces im Logcat-Fenster automatisch deobfuskiert werden. So können Sie alle Abstürze in einem produktionsreifen Build sofort sehen und beheben.

Behaltensregeln eingrenzen

Am Dienstag haben wir die Keep-Regeln entmystifiziert, die zum Beheben von Laufzeitabstürzen erforderlich sind. Dabei haben wir betont, dass spezifische Regeln auf Mitgliederebene besser sind als zu allgemeine Platzhalter. Und weil es ein wichtiges Thema ist, haben wir auch ein Video für Sie erstellt.

Und mit der neuen Lint-Prüfung für allgemeine Keep-Regeln ist das Android Studio Otter 3 Feature Drop auch hier für Sie da.

image.png

Außerdem haben wir neue Leitfäden zum Testen und zur Fehlerbehebung für deine R8-Konfiguration veröffentlicht, damit du die Konfiguration richtig einrichten kannst.

Weitere Informationen finden Sie in unserem Blogpost vom Dienstag: R8-Keep-Regeln konfigurieren und Fehler beheben

Hintergrundarbeit

Wir haben eine Anleitung zum Debuggen häufiger Szenarien veröffentlicht, die beim Planen von Aufgaben mit WorkManager auftreten können.

Der Background Task Inspector bietet eine visuelle Darstellung und eine Diagrammansicht von WorkManager-Aufgaben, mit denen Sie herausfinden können, warum geplante Aufgaben verzögert oder fehlgeschlagen sind. Auf der aktualisierten Landingpage der Dokumentation zu Hintergrundaufgaben werden aufgabenspezifische APIs hervorgehoben, die für bestimmte Anwendungsfälle optimiert sind und eine zuverlässigere Ausführung ermöglichen.
 

Weitere Informationen finden Sie in unserem Blogpost vom Mittwoch: Leistungsaspekte bei Hintergrundarbeiten

Leistungsoptimierung ist ein fortlaufender Prozess

Wenn Sie die Herausforderung angenommen und den R8-Vollmodus diese Woche aktiviert haben, besteht der nächste Schritt darin, die Leistung mithilfe des App-Leistungswerts in Ihre Produkt-Roadmap zu integrieren. Dieses standardisierte Framework hilft Ihnen, die wirkungsvollsten Maßnahmen für eine kontinuierliche Verbesserung zu finden.

Zum Abschluss der Woche gab es die Fragerunde #AskAndroid Live, in der Entwickler eure schwierigsten Fragen zu R8, profilgesteuerten Optimierungen und mehr beantwortet haben. Wenn du es verpasst hast, sieh dir die Aufzeichnung an.

Vielen Dank für Ihre Teilnahme! Jetzt können Sie loslegen und am Ball bleiben.

Verfasst von:
Weiterlesen