Basisprofil verwenden
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Baseline-Profile verbessern die Geschwindigkeit der Codeausführung ab dem ersten Start um etwa 30 %, da Interpretations- und JIT-Kompilierungsschritte für enthaltene Codepfade vermieden werden. Wenn Sie ein Baseline-Profil in eine App oder Bibliothek senden, aktivieren Sie Android Runtime (ART), um eingeschlossene Codepfade durch AOT-Kompilierung (AOT) zu optimieren und Leistungsverbesserungen für jede neue App-Installation und jedes App-Update bereitzustellen. Diese profilgestützte Optimierung (PGO) ermöglicht es Anwendungen, den Start zu optimieren, Interaktionsverzögerungen zu reduzieren und die Gesamtlaufzeitleistung für Endnutzer vom ersten Start an zu verbessern.
Leistungsaspekte erstellen
Compose wird als Bibliothek und nicht als Teil der Android-Plattform bereitgestellt.
Auf diese Weise kann das Team die Funktion „Compose“ häufig aktualisieren und eine Vielzahl von Android-Versionen unterstützen. Für die Bereitstellung von Compose als Bibliothek fallen jedoch Kosten an.
Der Android-Plattformcode ist bereits auf dem Gerät kompiliert und installiert.
Bibliotheken müssen jedoch beim Starten der App geladen und JIT bei Bedarf interpretiert werden. Dies kann die Anwendung beim Start und bei der ersten Verwendung einer Bibliotheksfunktion verlangsamen.
Vorteile von Basisprofilen
Sie können die Leistung verbessern, indem Sie Baseline-Profile definieren. Diese Profile definieren Klassen und Methoden, die für kritische Nutzerpfade erforderlich sind. Sie werden mit dem APK oder AAB Ihrer App verteilt. Während der App-Installation kompiliert ART diesen kritischen Code-AOT, damit er beim Start der App einsatzbereit ist.
Eine gute Baseline-Profildefinition ist nicht immer einfach. Daher wird Compose standardmäßig mit einer Definition ausgeliefert. Sie müssen nichts tun,
um diesen Nutzen zu sehen. Das mit der Funktion „Compose“ enthaltene Baseline-Profil enthält jedoch nur Optimierungen für den Code in der Compose-Bibliothek.
Makro-Benchmark
Für eine bestmögliche Optimierung erstellen Sie ein Baseline-Profil für Ihre Anwendung, in dem kritische Nutzerpfade mit MacroBenchmark abgedeckt werden. Wenn Sie ein eigenes Profil definieren, müssen Sie es testen, um zu bestätigen, dass es hilfreich ist. Schreiben Sie dazu MacroBenchmark-Tests für Ihre Anwendung und überprüfen Sie die Testergebnisse, während Sie Ihr Baseline-Profil schreiben und überarbeiten.
Ein Beispiel zum Schreiben von MacroBenchmark-Tests für Ihre Compose-UI finden Sie im MacroBenchmark Compose-Beispiel.
Weitere Ressourcen
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Use a baseline profile\n\n[Baseline Profiles](/baseline-profiles) improve code execution speed by about 30% from the first\nlaunch by avoiding interpretation and just-in-time (JIT) compilation steps for\nincluded code paths. By shipping a Baseline Profile in an app or library, you\nenable Android Runtime (ART) to optimize included code paths through\nahead-of-time (AOT) compilation, providing performance enhancements for every\nnew app install and every app update. This profile-guided optimization (PGO)\nlets apps optimize startup, reduce interaction jank, and improve overall runtime\nperformance from the first launch for end users.\n\nCompose performance considerations\n----------------------------------\n\nCompose is distributed as a library instead of as part of the Android platform.\nThis approach lets the Compose team update Compose frequently and support a wide\nrange of Android versions. However, distributing Compose as a library imposes a\ncost.\n\nAndroid platform code is already compiled and installed on the device.\nLibraries, however, need to be loaded when the app launches and interpreted JIT\nwhen needed. This can slow the app on startup and when it uses a library feature\nfor the first time.\n\nBenefits of baseline profiles\n-----------------------------\n\nYou can improve performance by defining [Baseline Profiles](/topic/performance/baselineprofiles/overview). These profiles\ndefine classes and methods needed on critical user journeys and are distributed\nwith your app's APK or AAB. During app installation, ART compiles this critical\ncode AOT so that it's ready for use when the app launches.\n\nA good Baseline Profile definition is not always straightforward, and because\nof this, Compose ships with one by default. You might not have to do any work to\nsee this benefit. However, the Baseline Profile that ships with Compose only\ncontains optimizations for the code within the Compose library.\n\n### Macrobenchmark\n\nTo get the best optimization, [create a Baseline Profile](/topic/performance/baselineprofiles/create-baselineprofile)\nfor your app that uses [Macrobenchmark](/studio/profile/macrobenchmark-overview) to cover critical user journeys. When\nyou define your own profile, you must test the profile to verify that it's\nhelping. A good way to do that is to write [Macrobenchmark](/studio/profile/macrobenchmark-overview) tests for your\napp and check the test results as you write and revise your Baseline Profile.\n\nFor an example of how to write Macrobenchmark tests for your Compose UI, see the\n[Macrobenchmark Compose sample](https://github.com/android/performance-samples/tree/main/MacrobenchmarkSample).\n\nAdditional Resources\n--------------------\n\n- **[App performance guide](/topic/performance/overview)**: Discover best practices, libraries, and tools to improve performance on Android.\n- **[Inspect Performance](/topic/performance/inspecting-overview):** Inspect app performance.\n- **[Benchmarking](/topic/performance/benchmarking/benchmarking-overview):** Benchmark app performance.\n- **[App startup](/topic/performance/appstartup/analysis-optimization):** Optimize app startup.\n- **[Baseline profiles](/baseline-profiles):** Understand baseline profiles."]]