Publicado por Yi Yang (ingeniero de software)Es importante mantenerse al tanto del rendimiento de su aplicación para asegurarse de que sus usuarios puedan usarla fácilmente. Cuando una aplicación encuentra problemas como animación Jak, fotogramas congelados y un uso elevado de la memoria, afecta negativamente a la experiencia del usuario, lo que podría provocar calificaciones más bajas o la eliminación de la aplicación. Para resolver estos problemas de rendimiento, primero necesitamos las herramientas adecuadas para medir correctamente el rendimiento de la aplicación.
La compilación de depuración le permite usar funciones de desarrollo útiles, como Aplicar los cambiostrabajando con el depuradoro el inspector de base de datos. Además, también permite que las herramientas de creación de perfiles examinen el estado de una aplicación en ejecución que no está disponible para la versión de lanzamiento.
Debajo del capó, la compilación de depuración establece el depurable marcar en el manifiesto de Android como verdadero.
Si bien es útil, la compilación de depuración pretende proporcionar más información a expensas del rendimiento. Esto se debe a que cuando depurable Es cierto que muchas optimizaciones del compilador están deshabilitadas.
Echemos un vistazo a otra grabación de pantalla. Esta vez, el lado izquierdo muestra un perfilable aplicación de lanzamiento y en el lado derecho una aplicación de lanzamiento sin modificar. Hay poca diferencia en el rendimiento entre los dos.
Con perfilableahora puede medir la información de tiempo con mucha más precisión que la compilación de depuración.
Esta característica está diseñada para usarse en producción donde la seguridad de la aplicación es primordial. Por lo tanto, hemos decidido admitir solo funciones de creación de perfiles como Muestreo de pila de llamadas Y Rastreo del sistema, donde la medida del tiempo es fundamental. los Perfilador de memoria solo admite Perfilado de memoria nativa. los Perfil energético y el historial de eventos no están disponibles. Puede encontrar la lista completa de funciones deshabilitadas aquí. Todas estas restricciones se implementan para proteger los datos de su aplicación.
Ahora que sabes lo que perfilable hace una etiqueta, déjame mostrarte cómo usarlo. Hay dos opciones: automática y manual.
Opción 1: use la opción en Android Studio.
Con Android Studio Flamingo y Android Gradle Plugin 8.0, todo lo que necesita hacer es seleccionar esta opción en el menú desplegable Perfil en la barra de herramientas Ejecutar: “Bajo perfil de sobrecarga”. Luego, Android Studio creará automáticamente una aplicación perfilable de su tipo de compilación actual y adjuntará el generador de perfiles. Funciona con cualquier tipo de compilación, pero le recomendamos encarecidamente que genere un perfil de compilación de lanzamiento, que es lo que ven sus usuarios.
Cuando se perfila una aplicación perfilada, hay un indicador visual junto con un mensaje de banner. Solo están disponibles los perfiladores de memoria y CPU. En Memory Profiler, solo la función de grabación de asignación nativa está disponible por razones de seguridad. |
Esta función es excelente para simplificar el proceso de creación de perfiles local, pero solo se aplica cuando se crea un perfil con Android Studio. Por lo tanto, aún puede ser útil configurar manualmente la aplicación en caso de que desee diagnosticar problemas de rendimiento en producción o si aún no está listo para usar la última versión de Android Studio o el complemento Android Gradle.
Opción 2: configuración manual.
Se necesitan 4 pasos para habilitar manualmente el perfil.
1. Agregue esta línea a su AndroidManifest.xml.
AndroidManifest.xml
2. Cambie al tipo de compilación de lanzamiento (o cualquier tipo de compilación que no sea depurable).
3. Asegúrese de tener configurada una clave de firma. Para evitar comprometer la clave de firma de versión, puede usar temporalmente la clave de firma de depuración o configurar una nueva clave solo para la generación de perfiles.
4. Cree y ejecute la aplicación en un dispositivo con Android 10 o posterior. Ahora tienes una aplicación perfilable. A continuación, puede conectar Android Studio Profiler iniciando la ventana de Profiler Tool y seleccionando el proceso de la aplicación en la lista desplegable.
Muchos de ustedes se estarán preguntando si es seguro dejar la etiqueta de manifiesto perfilable en producción y la respuesta es sí. Esta etiqueta está diseñada para usarse en compilaciones de lanzamiento para permitir la creación de perfiles locales. Las herramientas de generación de perfiles del host y el proceso de shell no pueden leer los datos de la memoria. Solo se pueden leer los seguimientos de pila, que normalmente están ofuscados o sin símbolos en las compilaciones de lanzamiento.
De hecho, muchas aplicaciones patentadas de Google, como Google Maps, envían su aplicación a Play Store como aplicaciones rentables.
En resumen, la generación de perfiles de la compilación de depuración puede afectar el rendimiento y, por lo tanto, es mejor analizar la compilación de lanzamiento con la etiqueta perfilable habilitada. |
Aquí hay una tabla que muestra qué tipo de compilación se debe usar:
Para obtener más información sobre compilaciones perfilables, comience leyendo la documentación y el la guía del usuario.
Con estas herramientas proporcionadas por el equipo de Android, esperamos que pueda hacer que su aplicación funcione más rápido y sin problemas.