El documento habla sobre cómo optimizar el rendimiento de una aplicación móvil en términos de CPU, memoria y red. Señala que los usuarios abandonan las aplicaciones que tardan más de 4 segundos en cargar y que tiempos de carga más lentos pueden reducir las ventas en un 20%. Recomienda no realizar tareas pesadas en el hilo principal de la interfaz, almacenar datos en caché para evitar descargarlos repetidamente, y utilizar herramientas como Traceview y DDMS para identificar cuellos de botella en la CPU, memoria
3. Por que?
1 de cada 4 personas abandona una web que
tarda más de 4 segundos en cargar
4. Por que?
● Amazon: +100ms = -1% ventas
● Google: un incremento de 0.4 segundos a
0.9 segundos en carga de pàgina equivale a
un descenso de tràfico e ingresos del 20%
● Apps móviles?
6. El concepto
Caso clásico:
1. Descargas datos (cache de Strings)
2. Parseas (cache de objetos)
3. Descargas más datos: imágenes, etc (LruCache)
4. Cargas en memoria (mantenerlos en memoria)
5. Los muestras en pantalla
7. Don't be a Java Hero
"Tengo la impresión de que Java fue diseñado
para hacer que fuera difícil escribir mal código,
mientras que Python está diseñado para hacer
que sea sencillo escribir buen código."
– Magnus Lycka
8. Como?
● Las splash-screens són malignas
● No hacer trabajos en el UI Thread
● No bloquear la UI (ProgressDialogs...)
● No descargar los mismos datos 2 veces
○ nos centraremos en este punto
21. Otras utilidades
● Heap dump (memoria por objetos)
● Eclipse MAT (memoria por objetos)
● PerfMon (memoria, cpu, red en float)
● Usage Timelines Pro (cpu, memoria)
● traceview (cpu)
22. Detectar regresiones
● Guardar un long en Application y mostrar un
Toast con la diferencia al mostrar los
primeros datos
● Enviar por analytics velocidades de boot