Usa un perfil de Baseline

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