Mejoras para la descarga de aplicaciones de menor tamaño en Google Play | Blog para desarrolladores de Android
lunes, 24 de octubre de 2016
Publicado por Anthony Morris, SWE Google Play
Con la instalación de más de 65 mil millones de aplicaciones por parte de los usuarios de Android desde la Google Play Store durante el último año, Google Play continúa creciendo rápidamente. También observamos que los desarrolladores comienzan a actualizar sus aplicaciones con mayor frecuencia para incorporar fabulosos nuevos contenidos, aplicar revisiones de vulnerabilidades de seguridad y hacerse eco de los comentarios de los usuarios.
Sin embargo, muchos usuarios muestran sensibilidad ante el volumen de datos que usan, en especial cuando no usan redes Wi-Fi. Google Play investiga la aplicación de mejoras para reducir el volumen de datos transferido en instalaciones y actualizaciones de aplicaciones y, al mismo tiempo, ofrecer más transparencia a los usuarios respecto del costo de los datos.
Continúa leyendo para comprender las actualizaciones y hallar algunos consejos relacionados con maneras de optimizar el tamaño de tu APK.
En aproximadamente el 98% de las actualizaciones de la Play Store, solo los cambios (deltas) para los archivos APK se descargan y se combinan con los archivos existentes. Esto reduce el tamaño de las actualizaciones. Recientemente implementamos un algoritmo delta (bsdiff), que reduce las revisiones hasta en un 50% o más en comparación con el algoritmo anterior. Bsdiff está pensado específicamente para producir algoritmos delta más eficaces con bibliotecas nativas aprovechando las maneras específicas en que se modifica el código nativo entre una versión y otra. Para ser más eficaces, las bibliotecas nativas deben almacenarse descomprimidas (la compresión obstaculiza los algoritmos delta).
Un ejemplo de Chrome:
En el caso de las aplicaciones cuyas bibliotecas no están comprimidas, se observa una reducción promedio del 5% en el tamaño en comparación con el algoritmo delta anterior.
Los archivos de expansión de APK te permiten incluir archivos adicionales grandes de hasta 2 GB de tamaño (p. ej., archivos de gráficos o multimedia de alta resolución) en tu aplicación, una alternativa de particular popularidad en los juegos. Recientemente, expandimos nuestros algoritmos delta y de compresión para aplicarlos a estos archivos de expansión de APK además de los APK. Esto redujo el tamaño de descarga de las instalaciones iniciales en un 12% y el de las actualizaciones en un 65% en promedio.
Además de las mejoras para reducir el tamaño de descarga, también hicimos que fuera más clara la información sobre los datos usados y los tamaños de descarga en la Play Store. En esta, ahora podrás ver los tamaños de descarga reales en lugar del tamaño de los archivos APK. Si ya dispones de una aplicación, solo verás el tamaño de actualización. La implementación de estos cambios se encuentra en curso.
Ejemplo 1: Visualización del nuevo “Tamaño de descarga” de APK.
Ejemplo 2: Visualización del nuevo “Tamaño de actualización” de APK.
Ejemplo de Chrome:
Con la instalación de más de 65 mil millones de aplicaciones por parte de los usuarios de Android desde la Google Play Store durante el último año, Google Play continúa creciendo rápidamente. También observamos que los desarrolladores comienzan a actualizar sus aplicaciones con mayor frecuencia para incorporar fabulosos nuevos contenidos, aplicar revisiones de vulnerabilidades de seguridad y hacerse eco de los comentarios de los usuarios.
Sin embargo, muchos usuarios muestran sensibilidad ante el volumen de datos que usan, en especial cuando no usan redes Wi-Fi. Google Play investiga la aplicación de mejoras para reducir el volumen de datos transferido en instalaciones y actualizaciones de aplicaciones y, al mismo tiempo, ofrecer más transparencia a los usuarios respecto del costo de los datos.
Continúa leyendo para comprender las actualizaciones y hallar algunos consejos relacionados con maneras de optimizar el tamaño de tu APK.
Nuevo algoritmo delta para reducir el tamaño de las actualizaciones de aplicaciones
En aproximadamente el 98% de las actualizaciones de la Play Store, solo los cambios (deltas) para los archivos APK se descargan y se combinan con los archivos existentes. Esto reduce el tamaño de las actualizaciones. Recientemente implementamos un algoritmo delta (bsdiff), que reduce las revisiones hasta en un 50% o más en comparación con el algoritmo anterior. Bsdiff está pensado específicamente para producir algoritmos delta más eficaces con bibliotecas nativas aprovechando las maneras específicas en que se modifica el código nativo entre una versión y otra. Para ser más eficaces, las bibliotecas nativas deben almacenarse descomprimidas (la compresión obstaculiza los algoritmos delta).
Un ejemplo de Chrome:
Descripción de la revisión | Tamaño de la revisión anterior | Tamaño de Bsdiff |
Actualización importante de M46 a M47 | 22,8 MB | 12,9 MB |
Actualización menor de M47 | 15,3 MB | 3,6 MB |
En el caso de las aplicaciones cuyas bibliotecas no están comprimidas, se observa una reducción promedio del 5% en el tamaño en comparación con el algoritmo delta anterior.
Aplicación del algoritmo delta a archivos de expansión de APK para reducir más el tamaño de actualización
Los archivos de expansión de APK te permiten incluir archivos adicionales grandes de hasta 2 GB de tamaño (p. ej., archivos de gráficos o multimedia de alta resolución) en tu aplicación, una alternativa de particular popularidad en los juegos. Recientemente, expandimos nuestros algoritmos delta y de compresión para aplicarlos a estos archivos de expansión de APK además de los APK. Esto redujo el tamaño de descarga de las instalaciones iniciales en un 12% y el de las actualizaciones en un 65% en promedio.
Información más clara acerca del tamaño en la Play Store
Además de las mejoras para reducir el tamaño de descarga, también hicimos que fuera más clara la información sobre los datos usados y los tamaños de descarga en la Play Store. En esta, ahora podrás ver los tamaños de descarga reales en lugar del tamaño de los archivos APK. Si ya dispones de una aplicación, solo verás el tamaño de actualización. La implementación de estos cambios se encuentra en curso.
Consejos para reducir los tamaños de descarga
1. Aplica optimizaciones para obtener mediciones de tamaño correctas: a los usuarios les importan el tamaño de descarga (la cantidad de bytes que se transfieren al instalar o actualizar una aplicación) y el espacio en disco (la cantidad de espacio que la aplicación ocupa en este). Es importante observar que estos no equivalen al tamaño original del archivo APK y que tampoco guardan correlación necesariamente.
Ejemplo de Chrome:
Biblioteca nativa comprimida | Biblioteca nativa no comprimida | |
Tamaño del APK | 39 MB | 52 MB (+25%) |
Tamaño de descarga (instalación) | 29 MB | 29 MB (sin cambios) |
Tamaño de descarga (actualización) | 29 MB | 21 MB (-29%) |
Espacio en disco | 71 MB | 52 MB (-26%) |
En Chrome, descubrieron que el tamaño de descarga inicial se conserva al no comprimir la biblioteca nativa de su APK, mientras que el tamaño del APK aumenta porque Google Play aplica compresión para las descargas. También descubrieron que el tamaño de actualización se reduce, ya que los algoritmos delta son más eficaces con archivos no comprimidos, y que el espacio en disco se reduce porque ya no necesitas una copia de la biblioteca nativa:
2. Reduce el tamaño de tu APK: elimina datos innecesarios del APK, como recursos y código que no se usen.
3. Optimiza partes de tu APK para hacerlas más pequeñas: puedes hacerlo empleando formatos de archivo más eficaces; por ejemplo, WebP en lugar de JPEG. También puedes aplicar Proguard para eliminar código que no se use.