Utilizza un profilo di riferimento
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
I profili di riferimento migliorano la velocità di esecuzione del codice di circa il 30% dal primo
lancio evitando i passaggi di interpretazione e compilazione just-in-time (JIT) per
i percorsi di codice inclusi. Se spedisci un profilo di riferimento in un'app o una libreria, consenti ad Android Runtime (ART) di ottimizzare i percorsi di codice inclusi tramite la compilazione AOT, fornendo miglioramenti delle prestazioni per ogni nuova installazione dell'app e ogni aggiornamento dell'app. Questa ottimizzazione guidata dal profilo (PGO)
consente alle app di ottimizzare l'avvio, ridurre il numero di interazioni e migliorare le prestazioni complessive
di runtime dal primo lancio per gli utenti finali.
Scrivi considerazioni sul rendimento
Compose viene distribuito come libreria anziché come parte della piattaforma Android.
Questo approccio consente al team di Compose di aggiornare spesso Compose e di supportare un'ampia
gamma di versioni di Android. Tuttavia, la distribuzione di Compose come libreria prevede un costo.
Il codice della piattaforma Android è già compilato e installato sul dispositivo.
Tuttavia, le librerie devono essere caricate all'avvio dell'app e interpretate JIT quando necessario. Questo può rallentare l'app all'avvio e quando utilizza una funzionalità di libreria per la prima volta.
Vantaggi dei profili di riferimento
Puoi migliorare le prestazioni definendo i profili di riferimento. Questi profili
definiscono le classi e i metodi necessari per i percorsi degli utenti critici e vengono distribuiti
insieme all'APK o all'AAB della tua app. Durante l'installazione dell'app, ART compila questo
codice AOT critico in modo che sia pronto per l'uso al lancio dell'app.
Una buona definizione di Profilo di riferimento non è sempre chiara e, per questo motivo, Compose ne fornisce uno per impostazione predefinita. Potresti non dover fare nulla per
vedere questo vantaggio. Tuttavia, il profilo di riferimento fornito con Compose contiene solo ottimizzazioni per il codice all'interno della libreria di Compose.
Macrobenchmark
Per un'ottimizzazione ottimale, crea un profilo di riferimento per la tua app che utilizzi Macrobenchmark per coprire i percorsi degli utenti critici. Quando definisci il tuo profilo personale, devi testarlo per verificare che sia utile. Un buon modo per farlo è scrivere test Macrobenchmark per la tua
app e controllare i risultati del test mentre scrivi e rivedi il profilo di riferimento.
Per un esempio di come scrivere test Macrobenchmark per la UI di Compose, consulta
l'esempio di Macrobenchmark Compose.
Risorse aggiuntive
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]