Jetpack Compose bietet von Haus aus eine hervorragende Leistung. Konfigurieren Sie Ihre App gemäß den Best Practices, um häufige Fallstricke zu vermeiden und die Leistung Ihrer Compose-Anwendung zu optimieren.
Jetpack Compose-Benchmarking
Um die Leistung von Jetpack Compose mit der von Views zu vergleichen, verwenden wir Hero-Benchmarks. Diese konzentrieren sich auf wichtige, realistische Nutzeraktionen wie das Kaltstarten einer App oder das Scrollen einer Liste oder eines Rasters mit Bildern. Wir führen diese Benchmarks mit der Open-Source-App Pokedex durch und vergleichen die Implementierungen von Views und Compose.
Diese Benchmarks zeigen, dass Compose 1.9 und höher die Leistung von Views in Bezug auf Ruckeln beim Scrollen erreicht.
Weitere Messwerte und Informationen zu unseren Methoden finden Sie unter Hero-Benchmarks.
Wichtige Konzepte
Hier sind einige der wichtigsten Konzepte für die Leistung in Compose:
- Phasen:Wenn Sie die Kompositions-, Layout- und Zeichenphasen kennen, können Sie optimieren, wie Compose Ihre Benutzeroberfläche aktualisiert.
- Baseline-Profile:In diesen Profilen wird wichtiger Code vorkompiliert, was zu schnelleren App-Starts und reibungsloseren Interaktionen führt.
- Stabilität:Erhöhe die Stabilität deiner App, um unnötige Neukompositionen effizienter zu überspringen und so die Leistung zu verbessern.
App richtig konfigurieren
Wenn die Leistung Ihrer App schlecht ist, liegt möglicherweise ein Konfigurationsproblem vor. Als Erstes sollten Sie die folgenden Konfigurationsoptionen prüfen:
- Im Release-Modus mit R8 erstellen:Versuchen Sie, Ihre App im Release-Modus auszuführen. Der Debug-Modus ist nützlich, um viele Probleme zu erkennen, aber er beeinträchtigt die Leistung und kann es erschweren, andere Probleme zu erkennen. Sie sollten auch die Optimierung und das Verkleinern mit dem R8-Compiler aktivieren, um einen leistungsstarken und effizienten Release-Build zu erhalten.
- Baseline-Profile verwenden:Baseline-Profile verbessern die Leistung, indem sie Code für wichtige Nutzerpfade vorkompilieren. Compose enthält ein Standardprofil, aber idealerweise sollten Sie auch ein anwendungsspezifisches Profil erstellen. Weitere Informationen zu Baseline-Profilen in der allgemeinen Android-Leistungsdokumentation
Tools
Machen Sie sich mit den Tools vertraut, die Ihnen zur Verfügung stehen, um die Leistung Ihrer Compose-App zu messen und zu analysieren.
Best Practices
Beachten Sie beim Entwickeln Ihrer App mit Compose die folgenden Best Practices:
- Teure Berechnungen vermeiden:Verwenden Sie
remember, um die Ergebnisse teurer Berechnungen im Cache zu speichern. - Lazy Layouts unterstützen:Stellen Sie Lazy Layouts mithilfe des Parameters
keystabile Schlüssel zur Verfügung, um unnötige Neuzusammenstellungen zu minimieren. - Unnötige Neuzusammenstellungen begrenzen:Verwenden Sie
derivedStateOf, um Neuzusammenstellungen bei sich schnell änderndem Status zu begrenzen. - Zustandslesevorgänge verzögern:Verzögern Sie Zustandslesevorgänge so lange wie möglich, indem Sie sie in Lambda-Funktionen einbetten.
- Lambda-Modifizierer zum Ändern des Status verwenden:Verwenden Sie lambdabasierte Modifizierer wie
Modifier.offset { ... }für Statusvariablen, die sich häufig ändern. - Rückwärts-Schreibvorgänge vermeiden:Schreiben Sie niemals in einen Status, der bereits in einem Composable gelesen wurde.
Weitere Informationen finden Sie im Best Practices-Leitfaden.
Aufrufe
Wenn Sie mit Ansichten anstelle von Compose arbeiten, finden Sie weitere Informationen im Leitfaden Layoutleistung verbessern.
Zusätzliche Ressourcen
- Leitfaden zur App-Leistung:Hier finden Sie Best Practices, Bibliotheken und Tools zur Leistungsverbesserung unter Android.
- Leistung prüfen:App-Leistung prüfen.
- Benchmarking:Benchmark-Analyse der App-Leistung.
- App-Start:Optimieren Sie den App-Start.
- Baseline-Profile:Informationen zu Baseline-Profilen.