Puede ser difícil saber dónde se encuentra un problema de rendimiento y qué código comenzar a optimizar. Comienza por usar herramientas que te permitan identificar tu problema.
Inspector de diseño
Usa el Inspector de diseño para revisar tu diseño y ver los recuentos de recomposición.
Si la IU tiene un rendimiento deficiente, esto suele deberse a un error de programación que obliga a que se recomponga en exceso. Por otro lado, algunos errores de programación pueden evitar que la IU se recomponga cuando sea necesario, lo que significa que los cambios de la IU no se muestran en la pantalla. El seguimiento de las recomposiciones puede ayudar a encontrar ambos tipos de problemas.
La recomposición en sí misma no es mala, pero la recomposición inesperada puede ser un problema. Ten en cuenta que los recuentos de recomposición no sustituyen las comparativas: omitir un elemento componible tiene una sobrecarga de comparación de parámetros y tablas de ranuras y, una vez que se programa la composición, omitir un solo elemento componible intermedio ahorra poco tiempo en comparación con aplazar las lecturas de estado que cambian rápidamente a las fases de diseño o dibujo. Verifica siempre los cambios de rendimiento con el seguimiento de la composición y Macrobenchmark.
Para obtener más información, consulta la documentación sobre recuentos de recomposición del Inspector de diseño.
Seguimiento de composiciones
Usa el registro de composición para hacer un seguimiento de las funciones de componibilidad en un registro del sistema. A menudo, los seguimientos son la mejor fuente de información cuando se analiza un problema de rendimiento por primera vez. Te permiten formular una hipótesis del problema y de dónde comenzar a buscar.
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.
- Inspecciona el rendimiento: Inspecciona el rendimiento de la app.
- Comparativas: Realiza comparativas del rendimiento de la app.
- Inicio de apps: Optimiza el inicio de la app.
- Perfiles de Baseline: Comprende los perfiles de Baseline.