Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Cómo medir el rendimiento de las apps con Android Profiler

En Android Studio 3.0 y versiones posteriores, Android Profiler reemplaza a las herramientas de Android Monitor. Las herramientas de Android Profiler proporcionan datos en tiempo real que te ayudan a comprender la forma en que tu app utiliza los recursos de la CPU, la memoria, la red y la batería.

Para obtener detalles sobre cada uno de los generadores de perfiles, consulta lo siguiente:

Android Profiler es compatible con Android 5.0 (nivel de API 21) y versiones posteriores.

Mira el siguiente video, que incluye una introducción a Android Profiler.

Para abrir la ventana de Profiler, elige View > Tool Windows > Profiler o haz clic en Profile en la barra de herramientas. Si aparece el cuadro de diálogo Select Deployment Target, elige el dispositivo en el que quieras generar un perfil para tu app. Si conectaste un dispositivo mediante USB, pero no lo ves en la lista, asegúrate de haber habilitado la depuración USB. Si usas Android Emulator o un dispositivo con derechos de administrador, Android Profiler mostrará todos los procesos en ejecución, incluso si no son depurables. Cuando inicies una app depurable, se elegirá ese proceso de forma predeterminada.

Android Profiler seguirá recopilando datos de generación de perfiles hasta que desconectes el dispositivo o hagas clic en End Session.

Figura 1: Vista compartida de cronograma de Android Profiler

1 Android Profiler muestra el proceso y el dispositivo para el que se está generando un perfil.

2 En el panel Sessions, elige qué sesión deseas ver o inicia una nueva sesión de generación de perfiles.

3 Usa los botones de zoom para controlar la cantidad de tiempo que quieras ver o usa el botón Attach to live para ir a las actualizaciones en tiempo real.

4 El cronograma muestra eventos relacionados con entradas del usuario, como la actividad del teclado, los cambios de control de volumen y las rotaciones de la pantalla.

5 Representa la vista compartida del cronograma, que incluye gráficos de CPU, memoria, red y uso de energía.

En esta vista compartida de cronograma, solo se muestran los gráficos de la línea de tiempo. Para acceder a las herramientas detalladas de generación de perfiles, haz clic en el gráfico correspondiente a los datos de rendimiento que quieras inspeccionar. Por ejemplo, si deseas acceder a las herramientas para inspeccionar el montón y realizar un seguimiento de las asignaciones de memoria, haz clic en el gráfico Memory.

Sin embargo, no todos los datos de generación de perfiles son visibles de manera predeterminada. Si ves el mensaje "Advanced profiling is unavailable for the selected process", habilita la generación de perfiles avanzada en tu configuración de ejecución para ver los datos adicionales.

Sesiones

Es posible guardar los datos de Profiler como sesiones, que se conservarán hasta que salgas de Android Studio. Si registras los datos de generación de perfiles en varias sesiones y alternas entre ellas, podrás comparar el uso de recursos en diferentes situaciones.

  • Para iniciar una nueva sesión, haz clic en Start a new profiling session y selecciona un proceso de app del menú desplegable que aparece.

    Cuando registras un seguimiento o capturas un volcado de montón, Android Studio agrega esos datos (junto con la actividad de red de tu app) como una entrada separada a la sesión actual.

  • Para dejar de agregar datos a la sesión actual, haz clic en Stop the current profiling session .

  • Para importar un seguimiento exportado desde una ejecución anterior de Android Studio, haz clic en Start new profiler session y elige Load from file.

Cómo habilitar la generación de perfiles avanzada

Para mostrar tus datos de generación de perfiles avanzada cuando se ejecuta un dispositivo con Android 7.1 o una versión anterior, Android Studio debe insertar la lógica de supervisión en tu app compilada. Entre las funciones que ofrece la generación de perfiles avanzada, se incluye lo siguiente:

  • El cronograma del evento en todas las ventanas del generador de perfiles
  • La cantidad de objetos asignados en Memory Profiler
  • Los eventos de recolección de elementos no utilizados en Memory Profiler
  • Detalles sobre todos los archivos transmitidos en Network Profiler

Para habilitar la generación de perfiles avanzada, sigue estos pasos:

  1. Selecciona Run > Edit Configurations.
  2. Selecciona el módulo de tu app en el panel izquierdo.
  3. Haz clic en la pestaña Profiling y, luego, marca Enable advanced profiling.
  4. Vuelve a compilar y ejecutar tu app.

La configuración de la generación de perfiles avanzada hace que el proceso de compilación sea más lento, por lo que solo deberías habilitarla cuando desees comenzar a generar perfiles para tu app.