Usa un perfil de Baseline
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Los perfiles de Baseline mejoran la velocidad de ejecución del código en aproximadamente un 30% desde el primer lanzamiento, ya que evitan la interpretación y los pasos de compilación justo a tiempo (JIT) para las instrucciones de código incluidas. Cuando envías un perfil de Baseline a una app o biblioteca, permites que Android Runtime (ART) optimice las instrucciones de código incluidas a través de la compilación anticipada (AOT), lo que brinda mejoras de rendimiento para cada instalación nueva de la app y cada actualización de la app. Esta optimización guiada por perfil (PGO) permite que las apps optimicen el inicio, reduzcan los bloqueos de interacción y mejoren el rendimiento general del entorno de ejecución desde el primer lanzamiento para los usuarios finales.
Consideraciones de rendimiento de Compose
Compose se distribuye como biblioteca, en lugar de como parte de la plataforma de Android.
Este enfoque permite que el equipo de Compose actualice Compose con frecuencia y admita una amplia gama de versiones de Android. Sin embargo, distribuir Compose como biblioteca implica un costo.
El código de la plataforma de Android ya está compilado e instalado en el dispositivo.
Sin embargo, las bibliotecas deben cargarse cuando se inicia la app y se deben interpretar JIT cuando es necesario. Esto puede ralentizar la app durante el inicio y cuando usa una función de la biblioteca por primera vez.
Beneficios de los perfiles de Baseline
Puedes mejorar el rendimiento mediante la definición de perfiles de Baseline. Estos perfiles definen las clases y los métodos necesarios en los recorridos críticos del usuario y se distribuyen con el APK o el AAB de tu app. Durante la instalación de la app, ART compila este código crítico AOT para que esté listo para usarse cuando se inicie la app.
Una buena definición de un perfil de Baseline no siempre es sencilla y, por lo tanto, Compose se envía con uno de forma predeterminada. Es posible que no tengas que hacer nada para ver este beneficio. Sin embargo, el perfil de Baseline que se incluye con Compose solo contiene optimizaciones para el código dentro de la biblioteca de Compose.
Macrobenchmark
Para obtener la mejor optimización, crea un perfil de Baseline para tu app que use Macrobenchmark a fin de abarcar los recorridos críticos del usuario. Cuando defines tu propio perfil, debes probarlo para verificar que sea de ayuda. Una buena forma de hacerlo es escribir pruebas de Macrobenchmark para tu app y verificar los resultados mientras escribes y revisas tu perfil de Baseline.
Si deseas ver un ejemplo de cómo escribir pruebas de macrocomparativas para tu IU de Compose, consulta el ejemplo de Macrobenchmark de Compose.
Recursos adicionales
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]