Jetpack Compose ofrece un rendimiento excelente de uso inmediato. Configura tu app con prácticas recomendadas para evitar errores comunes y optimizar el rendimiento de tu aplicación de Compose.
Comparativas de Jetpack Compose
Para validar el rendimiento de Jetpack Compose en comparación con Views, usamos comparativas de héroes, que se centran en recorridos importantes del usuario en el mundo real, como iniciar una app en frío o desplazarse por una lista o cuadrícula con imágenes. Realizamos estas comparativas con la app de Pokedex de código abierto, comparando sus implementaciones de Views y Compose.
Estas comparativas muestran que Compose 1.9 y versiones posteriores coinciden con el rendimiento de Views para el bloqueo durante el desplazamiento.
Para obtener métricas adicionales y conocer nuestras metodologías, consulta Comparativas de héroes.
Conceptos clave
Estos son algunos de los conceptos clave para el rendimiento en Compose:
- Fases: Comprender las fases de composición, diseño y dibujo es fundamental para optimizar la forma en que Compose actualiza tu IU.
- Perfiles de Baseline: Estos perfiles precompilan código esencial, lo que permite que las apps se inicien más rápido y que las interacciones sean más fluidas.
- Estabilidad: Aumenta la estabilidad de tu app para omitir de manera más eficiente las recomposiciones innecesarias y mejorar el rendimiento.
Configura tu app de forma correcta
Si el rendimiento de tu app es deficiente, es posible que haya un problema de configuración. Un buen primer paso es revisar las siguientes opciones de configuración:
- Compila en modo de lanzamiento con R8: Intenta ejecutar tu app en modo de lanzamiento. El modo de depuración es útil para detectar muchos problemas, pero implica un costo de rendimiento y puede dificultar la detección de otros problemas. También debes habilitar la optimización y la reducción con el compilador R8 para garantizar una compilación de lanzamiento eficiente y de alto rendimiento.
- Usa perfiles de Baseline: Los perfiles de Baseline mejoran el rendimiento mediante la precompilación de código para recorridos críticos del usuario. Compose incluye un perfil predeterminado, pero, idealmente, también deberías crear uno específico de la app. Obtén más información sobre los perfiles de Baseline en la documentación general de rendimiento de Android.
Herramientas
Familiarízate con el conjunto de herramientas disponibles para ayudarte a medir y analizar el rendimiento de tu app de Compose.
Prácticas recomendadas
Cuando desarrolles tu app con Compose, ten en cuenta estas prácticas recomendadas:
- Evita los cálculos costosos: Usa
rememberpara almacenar en caché los resultados de los cálculos costosos. - Ayuda a los diseños diferidos: Proporciona claves estables a los diseños diferidos con el parámetro
keypara minimizar las recomposiciones innecesarias. - Limita las recomposiciones innecesarias: Usa
derivedStateOfpara limitar las recomposiciones cuando el estado cambia rápidamente. - Aplazar las lecturas de estado: Aplazar las lecturas de estado el mayor tiempo posible envolviéndolas en funciones lambda.
- Usa modificadores lambda para cambiar el estado: Usa modificadores basados en lambda, como
Modifier.offset { ... }, para variables de estado que cambian con frecuencia. - Evita las escrituras hacia atrás: Nunca escribas en un estado que ya se haya leído en un elemento componible.
Para obtener más detalles, consulta la guía de prácticas recomendadas.
Vistas
Si trabajas con vistas en lugar de Compose, consulta la guía específica Cómo mejorar el rendimiento del diseño.
Recursos adicionales
- **Guía de rendimiento de la app**: Descubre prácticas recomendadas , bibliotecas y 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.