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 Optimierung über Leistungsverbesserungen mit Jetpack Compose bis hin zu einer neuen Anleitung zur Optimierung der Leistung Ihrer App haben wir die Tools behandelt, mit denen Sie mit geringem Aufwand viel erreichen können, um eine leistungsstarke App zu entwickeln.

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.

Mit dem R8-Optimierer die App 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. Überprüfen Sie Ihre Keep-Regeln und verwenden Sie R8 wieder für Ihre technischen Aufgaben.

Unsere 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, konnte das Disney+-Team 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 in unserem Blogbeitrag vom ersten Tag: Mit R8 die App verkleinern, optimieren und beschleunigen

Anleitungen 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 Klassen.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 weiter daran, Jetpack Compose in Jetpack Compose 1.10 noch leistungsstärker zu machen. Funktionen wie die pausierbare Komposition und das anpassbare Cache-Fenster sind entscheidend, um Scroll-Verzögerungen bei komplexen Listenelementen 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

Sie können nur verwalten, was Sie messen. In unserer Anleitung zur Leistungsoptimierung wird die Messung in fünf Schritte unterteilt, von einfach verfügbaren Daten bis hin zu erweiterten lokalen Tools.

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äßiger Akkunutzung.

Wir zeigen Ihnen auch, wie Sie die nächste Stufe erreichen. Wir demonstrieren beispielsweise, wie Sie mit lokalen Leistungstests mit Jetpack Macrobenchmark und der neuen UiAutomator 2.4 API Stufe 3 erreichen können, 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]

Leistungsdebugging hat ein Upgrade erhalten

Erweiterte Optimierung sollte nicht zu unleserlichen Absturzberichten führen. Mit den neuen Funktionen können Sie R8 und Hintergrundaufgaben zuverlässig debuggen:

Automatische Logcat-Retrace

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

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 weit gefasste Platzhalter. Da es sich um ein wichtiges Thema handelt, haben wir auch ein Video dazu erstellt.

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

image.png

Wir haben auch neue Anleitungen zum Testen und zur Fehlerbehebung bei der R8-Konfiguration veröffentlicht, damit Sie die Konfiguration zuverlässig richtig einrichten können.

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

Hintergrundaufgaben

Wir haben Anleitungen zum Debuggen häufiger Szenarien bereitgestellt, die beim Planen von Aufgaben mit WorkManager auftreten können.

Mit dem Background Task Inspector erhalten Sie eine visuelle Darstellung und eine Diagrammansicht 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, diese Woche erfolgreich angenommen 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 kontinuierliche Verbesserungen zu finden.

Wir haben die Woche mit der #AskAndroid Live-Fragerunde abgeschlossen, in der Entwickler Ihre schwierigsten Fragen zu R8, profilgesteuerter Optimierung und mehr beantwortet haben. 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.

Geschrieben von:
Weiterlesen