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 just-in-time (JIT) para las instrucciones de código incluidas. Cuando se envía un perfil de Baseline a una app o biblioteca, se habilita Android Runtime (ART) para optimizar 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 con 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 para los usuarios finales desde el primer lanzamiento.
Consideraciones sobre el rendimiento de Compose
Compose se distribuye como biblioteca, en lugar de formar parte de la plataforma de Android. Este enfoque permite que el equipo de Compose actualice Compose con frecuencia y admita una amplia variedad de versiones de Android. Sin embargo, la distribución de 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 se deben cargar cuando se inicia la app y se deben interpretar en el momento en que se requiere la funcionalidad. Esto puede ralentizar la app al inicio y cada vez que use una función de la biblioteca por primera vez.
Beneficios de los perfiles de Baseline
Para mejorar el rendimiento, define los perfiles de Baseline. Estos perfiles definen las clases y los métodos necesarios para los recorridos críticos del usuario y se distribuyen con el APK o AAB de tu app. Durante la instalación de la app, ART compila ese código crítico con AOT para que esté listo para usarse cuando se inicie la app.
No siempre es fácil definir un buen perfil de Baseline y, por ello, Compose se envía con uno de forma predeterminada. Es posible que no tengas que realizar ninguna tarea para ver este beneficio. Sin embargo, el perfil de Baseline que se envía con Compose solo contiene optimizaciones para el código dentro de la biblioteca de Compose.
Macrocomparativas
Para obtener la mejor optimización, crea un perfil de Baseline para tu app que use Macrobenchmark para cubrir los recorridos críticos del usuario. Cuando defines tu propio perfil, debes probarlo para verificar que te ayude. Una buena forma de hacerlo es escribir pruebas de macrocomparativas para tu app y verificar los resultados de estas mientras escribes y revisas tu perfil de Baseline.
Si deseas obtener un ejemplo para escribir pruebas de macrocomparativas para tu IU de Compose, consulta este ejemplo de Compose.
Recursos adicionales
- Guía de rendimiento de la app: Descubre las prácticas recomendadas, las bibliotecas y las herramientas para mejorar el rendimiento en Android.
- **Cómo inspeccionar el rendimiento**: Inspecciona el rendimiento de la app.
- Comparativas: Compara el rendimiento de la app.
- Inicio de apps: Optimiza el inicio de la app.
- Perfiles de Baseline: Comprende los perfiles de Baseline.