Veranstaltungen und Programme

Vollständig optimiert: Rückblick auf die Performance Spotlight Week

Lesezeit: 3 Minuten

In der vergangenen Woche haben wir uns intensiv mit Best Practices und Anleitungen beschäftigt, mit denen Sie Android-Apps schneller, kleiner und stabiler machen können. Von den grundlegenden Funktionen des R8-Optimierers und der profilgesteuerten Optimierungen über Leistungsverbesserungen mit Jetpack Compose bis hin zu einer neuen Anleitung zur Optimierung der App-Leistung haben wir die Tools behandelt, mit denen Sie mit geringem Aufwand eine große Wirkung erzielen und eine leistungsstarke App entwickeln können.

Dieser Beitrag dient als Index und Roadmap, damit Sie diese Ressourcen bei Bedarf jederzeit wieder aufrufen können. Hier sind die fünf wichtigsten Punkte aus unserer gemeinsamen Woche.

App mit dem R8-Optimierer beschleunigen

Die wirkungsvollste Änderung, die Sie mit geringem Aufwand vornehmen können, ist die vollständige Aktivierung des R8-Optimierers. Er reduziert nicht nur die App-Größe, sondern führt auch umfassende Optimierungen des gesamten Programms durch, um Ihren Code grundlegend effizienter zu gestalten. Sehen Sie sich Ihre Keep-Regeln noch einmal an und beziehen Sie R8 wieder in Ihre technischen Aufgaben ein.

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

Reddit hat nach der Aktivierung des vollständigen Modus von R8 einen 40% schnelleren Kaltstart und 30% weniger ANR-Fehler festgestellt.

Die vollständige Fallstudie finden Sie in unserem Blog.

image.png

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

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 in unserem Blogbeitrag vom ersten Tag: App mit R8 verkleinern, optimieren und beschleunigen

Anleitung für eine bessere Leistung

Mit **Baseline-Profilen** ist die Just-in-Time-Kompilierung nicht mehr erforderlich, wodurch die Startgeschwindigkeit, das Scrollen, die Animation und die Rendering-Leistung insgesamt verbessert werden.Startprofile machen den App-Start noch schneller, da die classes.dex-Dateien Ihrer App intelligent sortiert werden.

Wie wichtig Baseline-Profile für die App-Leistung sind, erfahren Sie im Engineering-Blog von Meta. Dort wird beschrieben, wie Baseline-Profile verschiedene kritische Leistungsmesswerte in den Apps des Unternehmens um bis zu 40% verbessert haben.

Wir arbeiten ständig daran, Jetpack Compose noch leistungsstärker zu machen. In Jetpack Compose 1.10 sind weitere Verbesserungen enthalten. Funktionen wie die pausierbare Komposition und das anpassbare Cache-Fenster sind entscheidend, um beim Umgang mit komplexen Listenelementen Scroll-Jank zu vermeiden.In der neuesten Folge von #TheAndroidShow erklären wir das genauer.

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

Leistungsmessung kann ganz einfach sein

Was Sie nicht messen, können Sie nicht steuern. In unserer Anleitung zur Leistungsoptimierung wird die Leistungsmessung in fünf Schritte unterteilt. Wir beginnen mit leicht verfügbaren Daten und arbeiten uns bis zu erweiterten lokalen Tools vor.

Auf Stufe 1 erfahren Sie, wie Sie die leicht verfügbaren Daten aus Android Vitals verwenden. Dort finden Sie Felddaten zu ANRs, Abstürzen und übermäßigem Akkuverbrauch.

Wir zeigen Ihnen auch, wie Sie die nächste Stufe erreichen. Wir demonstrieren beispielsweise, wie Sie mit lokalen Leistungstests Stufe 3 erreichen.  Dazu verwenden wir Jetpack Macrobenchmark und die neue UiAutomator 2.4 API , um Änderungen an der Leistung Ihrer App genau zu messen und zu überprüfen.

Weitere Informationen finden Sie in unserem Blogbeitrag vom Donnerstag: [Link zum Blogbeitrag vom Donnerstag: Leveling Guide for your Performance Journey]

Fehlerbehebung bei der Leistung wurde verbessert

Erweiterte Optimierungen sollten nicht zu unleserlichen Absturzberichten führen. Mit den neuen Funktionen können Sie Fehler in R8 und bei Hintergrundaufgaben leichter beheben:

Automatische Logcat-Retrace

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

Eingeschränkte Keep-Regeln

Am Dienstag haben wir die Keep-Regeln erläutert, die zum Beheben von Laufzeitabstürzen erforderlich sind. Dabei haben wir betont, dass spezifische Regeln auf Mitgliedsebene besser sind als zu allgemeine Platzhalter. Da es sich um ein wichtiges Thema handelt, haben wir auch ein Video dazu erstellt.

Mit der neuen Lint-Prüfung für umfassende Keep-Regeln bietet auch der Android Studio Otter 3 Feature Drop eine Lösung für dieses Problem.

image.png

Außerdem haben wir neue Anleitungen zum Testen und zur Fehlerbehebung bei der R8-Konfiguration veröffentlicht, damit Sie die Konfiguration sicher richtig einrichten können.

Weitere Informationen finden Sie in unserem Blogbeitrag vom Dienstag: Configure and troubleshoot R8 Keep Rules

Hintergrundaufgaben

Wir haben Anleitungen zur Fehlerbehebung bei häufigen Szenarien bereitgestellt, die beim Planen von Aufgaben mit WorkManager auftreten können.

Mit dem Background Task Inspector erhalten Sie eine visuelle Darstellung und eine Grafikansicht der WorkManager-Aufgaben. So können Sie herausfinden, warum geplante Aufgaben verzögert oder nicht ausgeführt werden. Auf unserer aktualisierten Landingpage zur Dokumentation von Hintergrundaufgaben werden aufgabenspezifische APIs hervorgehoben, die für bestimmte Anwendungsfälle optimiert sind. So können Sie eine zuverlässigere Ausführung erreichen.

Weitere Informationen finden Sie in unserem Blogbeitrag vom Mittwoch: Background work performance considerations

Leistungsoptimierung ist ein fortlaufender Prozess

Wenn Sie unsere Herausforderung, den vollständigen Modus von R8 zu aktivieren, erfolgreich angenommen haben, besteht der nächste Schritt darin, die Leistung mithilfe des App Performance Score in Ihre Produkt-Roadmap zu integrieren. Dieses standardisierte Framework hilft Ihnen, die wirkungsvollsten Maßnahmen für kontinuierliche Verbesserungen zu finden.

Wir haben die Woche mit der #AskAndroid Live -Fragerunde abgeschlossen. Dort haben Entwickler Ihre schwierigsten Fragen zu R8, profilgesteuerten Optimierungen und mehr beantwortet. Wenn Sie die Fragerunde verpasst haben, können Sie sich die Aufzeichnung ansehen.

Vielen Dank für Ihre Teilnahme! Jetzt geht es ans Entwickeln. Bleiben Sie am Ball.

Verfasst von:

Weiterlesen