Share via


Generar perfiles de aplicaciones Android

Antes de implementar la aplicación en una tienda de aplicaciones, es importante que identifique y corrija los cuellos de botella de rendimiento, los problemas de uso excesivo de memoria y el uso ineficaz de los recursos de red. Para este propósito hay disponibles dos herramientas de generador de perfiles:

  • Generador de perfiles de Xamarin
  • Android Profiler en Android Studio

En esta guía se presenta el generador de perfiles de Xamarin y se proporciona información detallada sobre cómo empezar a usar Android Profiler.

Generador de perfiles de Xamarin

Xamarin Profiler es una aplicación independiente integrada con Visual Studio y Visual Studio para Mac para generar perfiles de aplicaciones Xamarin desde el IDE. Para obtener más información sobre el uso de Xamarin Profiler, vea Xamarin Profiler.

Nota:

Debe ser un suscriptor de Visual Studio Enterprise para desbloquear la característica Xamarin Profiler en Visual Studio Enterprise en Windows o Visual Studio para Mac.

Android Studio Profiler

Android Studio 3.0 y posterior incluye la herramienta Android Profiler. Puede usar Android Profiler para medir el rendimiento de una aplicación Android de Xamarin compilada con Visual Studio: sin necesidad de disponer de una licencia de Visual Studio Enterprise. Aun así, a diferencia de Xamarin Profiler, Android Profiler no está integrado con Visual Studio y solo puede usarse para generar perfiles de un paquete de aplicaciones Android (APK) que se haya compilado con antelación e importado en Android Profiler.

Iniciar una aplicación Android de Xamarin en Android Profiler

En los pasos siguientes se explica cómo iniciar una aplicación Android de Xamarin en la herramienta Android Profiler de Android Studio. En las capturas de pantalla de ejemplo siguientes, se usa Android Profiler para compilar la aplicación de ejemplo Xamarin Forms y generar los perfiles:

  1. En las opciones de compilación del proyecto de Android, deshabilite Use Shared Runtime (Usar tiempo de ejecución compartido). Esto garantiza que el paquete de aplicaciones Android (APK) se compile sin una dependencia en el tiempo de ejecución de Mono en tiempo de desarrollo compartido.

    Deshabilitación del uso del tiempo de ejecución compartido

  2. Compile la aplicación para la depuración e impleméntela en un dispositivo físico o un emulador. Esto hace que se compile una versión de depuración del APK. Para el ejemplo de XamagonXuzzle, el APK resultante se denomina com.companyname.XamagonXuzzle-Signed.apk.

  3. Abra la carpeta del proyecto y vaya a bin/Debug. En esta carpeta, busque la versión Signed.apk de la aplicación y cópiela en un lugar fácilmente accesible (como el escritorio). En la siguiente captura de pantalla, se localiza el APK com.companyname.XamagonXuzzle-Signed.apk y se copia en el escritorio:

    Ubicación del archivo APK firmado de depuración

  4. Inicie Android Studio y seleccione Profile or debug APK (Generar perfiles del APK o depurarlo):

    Iniciar el generador de perfiles desde la pantalla de inicio de Android Studio

  5. En el cuadro de diálogo Select APK File (Seleccionar archivo APK), desplácese hasta el APK que ha compilado y copiado anteriormente. Seleccione el APK y haga clic en Aceptar:

    Seleccionar el APK en el cuadro de diálogo de selección del archivo APK

  6. Android Studio cargará el APK y desensamblará classes.dex:

    Configuración del APK

  7. Una vez cargado el APK, Android Studio mostrará la siguiente pantalla de proyecto para el APK. Haga clic con el botón derecho en el nombre de la aplicación en la vista de árbol a la izquierda y seleccione Open Module Settings (Abrir configuración del módulo):

    Ubicación del elemento de menú para abrir la configuración del módulo

  8. Vaya a Configuración del proyecto > Módulos, seleccione el nodo -Signed de la aplicación y haga clic en <No SDK> (Sin SDK):

    Navegar hasta la configuración del SDK

  9. En el menú desplegable Module SDK (SDK de módulo), seleccione el nivel de Android SDK que se ha usado para compilar la aplicación (en este ejemplo, se ha usado el nivel de API 26 para compilar XamagonXuzzle):

    Establecer el nivel del SDK del proyecto

    Haga clic en Aplicar y Aceptar para guardar esta configuración.

  10. Inicie el generador de perfiles desde el icono de la barra de herramientas:

    Ubicación del icono del generador de perfiles en la barra de herramientas

  11. Seleccione el destino de implementación para ejecutar la aplicación o generar perfiles y haga clic en Aceptar. El destino de implementación puede ser un dispositivo físico o un dispositivo virtual que se ejecute en un emulador. En este ejemplo, se usa un dispositivo Nexus 5X:

    Seleccionar el destino de implementación

  12. Cuando se inicie el generador de perfiles, tardará unos segundos en conectar con el dispositivo de implementación y el proceso de aplicación. Mientras está instalando el APK, Android Profiler mostrará No connected devices (No hay dispositivos conectados) y No debuggable processes (No hay procesos depurables).

    El generador de perfiles instala el APK

  13. Tras unos segundos, Android Profiler completará la instalación del APK y lo iniciará. Además, mostrará el nombre del dispositivo y el nombre del proceso de aplicación del que se van a generar perfiles (en este ejemplo, LGE Nexus 5X y com.companyname.XamagonXuzzle, respectivamente):

    Ventana del generador de perfiles después de iniciarlo

  14. Después de identificar el dispositivo y los procesos depurables, Android Profiler comienza la generación de perfiles de la aplicación:

    Información mostrada por el generador de perfiles para la aplicación en ejecución

  15. Si pulsa el botón Aleatorizar en XamagonXuzzle (que hace que desplace y aleatorice los iconos), verá que el uso de la CPU aumentará durante el intervalo de aleatorización de la aplicación:

    Uso de CPU al pulsar el botón para aleatorizar

Uso de Android Profiler

En la documentación de Android Studio se incluye información detallada para usar Android Profiler. Los temas siguientes pueden ser de interés para desarrolladores de Android de Xamarin:

  • Generador de perfiles de CPU: explica cómo inspeccionar la actividad de subprocesos y el uso de CPU de la aplicación en tiempo real.

  • Generador de perfiles de memoria: muestra un gráfico en tiempo real del uso de memoria de la aplicación e incluye un botón para registrar las asignaciones de memoria para el análisis.

  • Generador de perfiles de red: muestra la actividad de red en tiempo real de los datos que la aplicación envía y recibe.