Veranstaltungen und Programme

Vollständig optimiert: Zusammenfassung der Performance Spotlight Week

Lesezeit: 3 Minuten

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

Dieser Beitrag dient als Index und Leitfaden, damit Sie diese Ressourcen bei Bedarf wieder aufrufen können. Hier sind die fünf wichtigsten Punkte, die wir gemeinsam gelernt haben.

App mit dem R8-Optimierungstool beschleunigen

Die wirkungsvollste Änderung, die Sie mit geringem Aufwand vornehmen können, ist die vollständige Aktivierung des R8-Optimierers. Dadurch wird nicht nur die App-Größe reduziert, sondern es werden auch umfassende Optimierungen des gesamten Programms vorgenommen, um den Code grundlegend effizienter zu gestalten. Sehen Sie sich Ihre Keep-Regeln noch einmal an und integrieren Sie R8 wieder in Ihre Engineering-Aufgaben.

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

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

Die vollständige Fallstudie finden Sie in unserem Blog.

image.png

Die Entwickler von Disney+ arbeiten an der App-Leistung und optimieren die Nutzerfreundlichkeit der App. Manchmal können selbst scheinbar kleine Änderungen einen großen Unterschied machen. Bei der Überprüfung der R8-Konfiguration stellte das Team fest, dass das Flag -dontoptimize verwendet wurde. Nachdem das Disney+‑Team Optimierungen durch Entfernen dieses Flags aktiviert hatte, konnte es erhebliche Verbesserungen bei der Leistung seiner 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 Blogpost zu Tag 1: R8 zum Verkleinern, Optimieren und Beschleunigen Ihrer App verwenden

Leistung verbessern

Baseline-Profile machen die Just-in-time-Kompilierung überflüssig und verbessern so die Startgeschwindigkeit, das Scrollen, die Animation und die allgemeine Rendering-Leistung. Startprofile machen den App-Start noch schlanker, indem sie die classes.dex-Dateien Ihrer App intelligent anordnen.

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 haben die Leistung von Jetpack Compose in Jetpack Compose 1.10 weiter verbessert. Funktionen wie die pausable composition und das anpassbare Cache-Fenster sind entscheidend, um bei komplexen Listenelementen Scroll-Jank zu vermeiden.In der neuesten Folge von #TheAndroidShow wird das genauer erklärt.

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

Leistungsmessung kann ganz einfach sein

Was man nicht messen kann, kann man nicht steuern. In unserem Leistungsoptimierungsleitfaden wird die Messung 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 leicht verfügbare Daten aus Android Vitals verwenden. Dort finden Sie Felddaten zu ANRs, Abstürzen und übermäßigem Akkuverbrauch.

Außerdem erfahren Sie, wie Sie Ihr Wissen erweitern können. Wir zeigen beispielsweise, wie Sie mit lokalen Leistungstests mit Jetpack Macrobenchmark und der neuen UiAutomator 2.4 API

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

Verbesserte Debugging-Leistung

Eine erweiterte Optimierung sollte nicht zu unleserlichen Absturzberichten führen. 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 Abstürze in einem produktionsreifen Build sofort sehen und beheben.

Regeln zum Beibehalten eingrenzen

Am Dienstag haben wir die Keep-Regeln erläutert, die zur Behebung 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 dem neuen Lint-Check für breite Keep-Regeln ist auch das im Android Studio Otter 3 Feature Drop abgedeckt.

image.png

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

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

Hintergrundarbeit

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 Diagrammansicht von WorkManager-Aufgaben, mit denen Sie herausfinden können, warum geplante Aufgaben verzögert oder fehlgeschlagen sind. Auf der aktualisierten Landingpage für die Dokumentation zu 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 Blogpost vom Mittwoch: Überlegungen zur Leistung von Hintergrundaufgaben

Leistungsoptimierung ist ein fortlaufender Prozess

Wenn Sie diese Woche erfolgreich an unserer Challenge teilgenommen und den R8-Vollmodus aktiviert 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 wichtigsten Maßnahmen für kontinuierliche Verbesserungen zu ermitteln.

Die Woche endete mit der #AskAndroid Live-Fragerunde, in der unsere Entwickler eure schwierigsten Fragen zu R8, profilgesteuerten Optimierungen und mehr beantworteten. Wenn du es verpasst hast, kannst du dir die Aufzeichnung ansehen.

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

Verfasst von:

Weiterlesen