Usar um perfil de referência
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os perfis de referência melhoram a velocidade de execução do código em cerca de 30% desde a primeira
inicialização, evitando a interpretação e as etapas de compilação just-in-time (JIT) para
caminhos de código incluídos. Ao enviar um perfil de referência em um app ou biblioteca, você
ativa o Android Runtime (ART) para otimizar os caminhos de código incluídos pela
compilação antecipada (AOT, na sigla em inglês) e fornece melhorias de desempenho a cada
instalação e atualização de app. Essa otimização guiada por perfil (PGO, na sigla em inglês)
permite que os apps otimizem a inicialização, reduzam a instabilidade de interação e melhorem o desempenho geral
do tempo de execução desde o primeiro lançamento para os usuários finais.
Considerações sobre o desempenho do Compose
O Compose é distribuído como uma biblioteca, e não como parte da Plataforma Android.
Essa abordagem permite que a equipe do Compose atualize o Compose com frequência e ofereça suporte a uma ampla
variedade de versões do Android. No entanto, a distribuição do Compose como uma biblioteca impõe um
custo.
O código da Plataforma Android já está compilado e instalado no dispositivo.
No entanto, as bibliotecas precisam ser carregadas quando o app é iniciado e interpreta o JIT
quando necessário. Isso pode deixar o app mais lento na inicialização e quando ele usa um recurso da biblioteca
pela primeira vez.
Benefícios dos perfis de referência
Você pode melhorar a performance definindo perfis de referência. Esses perfis
definem classes e métodos necessários em jornadas ideais do usuário e são distribuídos
com o APK ou AAB do app. Durante a instalação do app, o ART compila esse código
crítico AOT para que ele esteja pronto para uso quando o app for iniciado.
Uma boa definição de perfil de referência nem sempre é simples e, por isso, o Compose envia um por padrão. Talvez você não precise fazer nada
para ter esse benefício. No entanto, o perfil de referência que acompanha o Compose
contém apenas otimizações para o código na biblioteca do Compose.
Macrobenchmark
Para ter a melhor otimização, crie um perfil de referência
para o app que use a Macrobenchmark para cobrir jornadas ideais do usuário. Ao
definir seu próprio perfil, é necessário testá-lo para verificar se ele está
ajudando. Uma boa maneira de fazer isso é programar testes da Macrobenchmark para seu
app e verificar os resultados do teste enquanto você cria e revisa seu perfil de referência.
Para conferir um exemplo de como criar testes de Macrobenchmark para a interface do Compose, consulte o
exemplo de Macrobenchmark do Compose (link em inglês).
Outros recursos
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]