Użyj profilu bazowego
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Profile bazowe przyspieszają wykonywanie kodu o około 30% od pierwszego uruchomienia dzięki uniknięciu kroków interpretacji i kompilacji „just-in-time” (JIT) w przypadku uwzględnionych ścieżek kodu. Przesyłając profil podstawowy w aplikacji lub bibliotece, włączasz środowisko wykonawcze Androida (ART) w celu optymalizacji uwzględnionych ścieżek kodu za pomocą kompilacji z wyprzedzeniem (AOT), co zapewnia poprawę wydajności w przypadku każdej nowej instalacji aplikacji i każdej aktualizacji aplikacji. Ta optymalizacja prowadzona przez profil umożliwia aplikacjom optymalizowanie uruchamiania, ograniczanie zacinania się i poprawianie ogólnej wydajności środowiska wykonawczego od pierwszego uruchomienia dla użytkowników.
Uwagi na temat wydajności tworzenia wiadomości
Tworzenie wiadomości jest rozpowszechniane jako biblioteka, a nie jako część platformy Androida.
Dzięki temu zespół ds. tworzenia wiadomości może często aktualizować tę funkcję i obsługiwać szeroką gamę wersji Androida. Korzystanie z funkcji tworzenia wiadomości jako biblioteki
wiążą się jednak z kosztami.
Kod platformy Androida jest już skompilowany i zainstalowany na urządzeniu.
Biblioteki muszą jednak być wczytywane po uruchomieniu aplikacji i w razie potrzeby interpretowane przy użyciu metody JIT. Może to spowolnić działanie aplikacji przy uruchamianiu i użyciu funkcji biblioteki po raz pierwszy.
Zalety profili podstawowych
Aby poprawić wydajność, możesz zdefiniować profile podstawowe. Profile te definiują klasy i metody potrzebne w kluczowych ścieżkach użytkowników i są rozpowszechniane za pomocą pakietu APK lub pakietu AAB aplikacji. Podczas instalowania aplikacji ART kompiluje ten kluczowy kod AOT, aby był gotowy do użycia po uruchomieniu aplikacji.
Dobra definicja profilu podstawowego nie zawsze jest prosta, dlatego funkcja Utwórz otrzymuje go domyślnie. Aby skorzystać z tej możliwości,
nie musisz nic robić. Profil podstawowy dostarczany z funkcją Utwórz zawiera jednak tylko optymalizacje kodu z biblioteki tworzenia.
Makroporównawcze
Aby uzyskać najlepszą optymalizację, utwórz profil podstawowy dla swojej aplikacji, który korzysta z Macroporównania do obsługi kluczowych ścieżek użytkowników. Gdy zdefiniujesz swój profil, musisz go przetestować, aby sprawdzić, czy jest przydatny. Dobrym sposobem jest napisanie testów Macrobenchmark dla aplikacji i sprawdzanie ich wyników podczas pisania i poprawiania profilu podstawowego.
Przykład tworzenia testów porównawczych makr w interfejsie użytkownika Compose znajdziesz w tym artykule.
Dodatkowe materiały
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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."]]