Introducción al performance en aplicaciones Android
En esta presentación, Ángel Elizalde habla sobre tips y buenas prácticas para crear apps para Android que tienen un buen desempeño (performance) en tiempo de ejecución.
rendimiento de una computadora, un dispositivo, un programa o aplicación. La cual puede ser medida o cuantificada con la velocidad con la que se realiza una tarea o un proceso. Un ejemplo, en una aplicación android sería: el tiempo que tarda en cargar los componentes de una pantalla.
android puede definir la vida de esta. Con un buen performance se puede evitar: • mala experiencia de usuario. • malos comentarios en play store. • desinstalaciones.
van anidando dentro de un xml. es recomendable que el árbol jerárquico de vistas no sea muy amplio. Pipeline de interfaz: • Diseño, define los views que se pintaran en pantalla. • Medición, define las dimensiones de cada view.
fila o en una columna. • TableLayout: Distribuye los elementos de forma tabular. • RelativeLayout: Dispone los elementos en relación a otro o al padre. • ConstraintLayout: Versión mejorada de RelativeLayout, que permite una edición visual desde el editor.
está se asigna a un proceso específico y este nunca se libera. Lo que obliga a que la app trabaje con la memoria restante en el heap asignado por la memoria ram para la aplicación.
desde el dispositivo (físico o emulador). Esta conoce el sdk de android y muestra automáticamente los errores, ya sea en la barra de notificaciones o en la app que se instala en el dispositivo. Se implementa directamente en las dependencias del proyecto .
mucha memoria para objetos y procesos pero no son liberados. - Menos y menos memoria disponible en el heap de la aplicación. - El garbage collector limpia menos memoria de la que se requiere. - La aplicación falla o genera un ANR (Application not responding). - Es cerrada por el sistema.
es uno de los principales factores para una desinstalación, ya sea por tener una memoria reducida en el dispositivo o por el uso de la red móvil para descargarla. Por eso el equipo de android desarrollo R8.
la cantidad de código en nuestra aplicación y gracias a eso se reduce igual el tamaño del apk automáticamente en tiempo de compilación aplicando las siguientes técnicas: • Reducción. ◦ Elimina código sin uso (funciones, clases, etc.). • Optimización. ◦ Elimina código comentado. ◦ Elimina requerimiento (import) de librerías sin uso. ◦ Elimina código muerto (Ejemplo: else que nunca entra). • Ofuscación. ◦ Acorta nombres de clases y miembros para reducir el peso de la app. ◦ Se evita la ingeniería inversa en la aplicación.
que contiene los recursos de la aplicación pero delega la generación y firma del apk a google play. Esto ya viene integrado con android studio y genera un archivo con extensión aab.