Para identificar posibles cuellos de botella y mejorar el rendimiento general de la app, puedes registrar la actividad del dispositivo durante un período corto y recopilar registros del tiempo de inicio de tu app. En esta página, se muestra cómo configurar tu entorno para realizar pruebas de rendimiento.
Usa la biblioteca de Macrobenchmark
La biblioteca de Macrobenchmark mide las interacciones del usuario final más grandes, como el inicio, la interacción con la IU y las animaciones. La biblioteca ofrece un control directo sobre el entorno de rendimiento que estás probando. Te permite controlar la compilación, el inicio y la detención de la app para medir directamente el tiempo preciso de inicio de la app. También funciona para minimizar el ruido y las diferencias entre las ejecuciones de prueba.
Usa dispositivos de gama media para identificar posibles problemas de rendimiento
Haz pruebas de rendimiento en cada tipo de dispositivo que te interese. Los dispositivos de alta gama con componentes rápidos pueden ocultar problemas de rendimiento en dispositivos más antiguos, más lentos o con menos memoria RAM. Los dispositivos de gama baja pueden tardar más en cargar datos o ejecutar código, lo que facilita la identificación de los cuellos de botella. Por lo general, optimizar el rendimiento en dispositivos de gama baja también beneficia la optimización de los de alta gama.
Reduce el ruido
- Red: prueba tus apps o procesos con velocidades de Internet estables y fuertes con conexión de Wi-Fi. Si el tiempo de inicio de la app incluye una solicitud de red, recuerda que es aquí donde se puede encontrar variabilidad.
- Uso de RAM: no tengas otras apps ejecutándose en el segundo plano del dispositivo mientras pruebas el rendimiento del inicio de la app.
- Batería: asegúrate de que el dispositivo esté cargado para evitar cualquier limitación de rendimiento específica de hardware relacionada con la carga baja.
Haz pruebas en compilaciones de lanzamiento
Prueba el rendimiento con compilaciones de lanzamiento. Las compilaciones de depuración no son adecuadas para la depuración de rendimiento, ya que no proporcionan una optimización para la compilación y tienen un impacto significativo en el rendimiento.
Sin embargo, sí puedes usar una compilación de lanzamiento no ofuscada para identificar los nombres de las operaciones y las clases. En particular, te recomendamos que habilites minify (R8) e inhabilites la ofuscación con -dontobfuscate
en el archivo de ProGuard.
Es más sencillo identificar diseños, elementos y recursos si la compilación no está ofuscada.
Asegúrate de incluir la marca de perfil en el manifiesto para que tus eventos personalizados sean visibles en compilaciones no depurables. Esta marca está disponible en Android 10 (nivel de API 29) y versiones posteriores.
Agrega registros personalizados a las operaciones de tu app
Agrega registros personalizados a tu app facilita la identificación de las operaciones que realiza la app en comparación con otras bibliotecas. Esto te brindará más contexto sobre lo que hace la app en todo momento.