En mis ratos, una de las cosas que hago es crear algunas piezas de código interesantes. La última, buscaba conseguir una performance de scrolling en Android bastante decente cuando habían imágenes de “peso” cargadas en la ventana, lo que logré optimizar bastante —cosa que ni Facebook hace con su app móvil—. ¿El resultado? Una app que decidí lanzar a todo público: HD Wallpapers.
Básicamente, HD Wallpapers es una app que obtiene las imágenes desde un sitio de Wallpapers — acción conocida como web-scraping — y las muestra directamente en pantalla. ¿La idea? Intentar hacer una línea de tiempo con imágenes y que el scrolling sobre éstas no tenga lag cuando pasamos sobre una multitud de imágenes. Esto permite dos cosas: primero, demostrar que Android es bastante potente en sí, que el manejo de memoria es bastante eficiente y que ciertos patrones que han aparecido como algunos llamados “ViewHolders” (que almacenan en el elemento “tag” de la vista XML su posición de memoria) realmente funcionan a la perfección; y lo segundo, es que hay muchas empresas que no cuidan este tipo de cosas: prueben entrando a Facebook para Android e intentar hacer scroll sin que se pegue al menos un poco mientras carga las fotos de la línea de tiempo. ¡Difícil!
Obviamente, el resultado igual requiere una pequeña afinación, pero ¡vamos! es una app completa que te permite descargar imágenes de gran resolución al celular y ponerlas como fondo de pantalla.
Por debajo, la app usa la librería Picasso de Square… ¡Bastante buena! Además, una implementación propia del objeto “target” una vez que esté cargada la imagen, que permita almacenar la imagen descargada en el dispositivo para usarla luego.
Puedes ahora probar la app. Ojo, no está 100% libre de errores —fue un proyecto de un par de días, pero bastante bueno para el tiempo que demoré desarrollándola— pero es usable al 99%.