Si le preguntas a la gente ¿por qué pesan más las apps de iOS que las de Android? La mayoría dirá que se debe a que los dispositivos con Retina Display requieren imágenes con más resolución. Muchos lo dirán incluso sin tener ni idea. En 2012, cuando salieron los dispositivos con Retina Displai al mercado, en el plazo de seis meses las aplicaciones crecieron en tamaño una media del 42%. ¿Tiene razón la gente? ¿Se debe esa subida de tamaño a imágenes de más resolución? Las cosas en la realidad suelen ser mucho más complejas y distintas.

Veamos.

En stackoverflow, un programador que trabaja tanto en Android como iOS dice algo muy distinto. Habiendo compilado una app que había escrito él mismo, para ambos sistemas; con un conjunto de imágenes identico, obtuvo una diferencia de casi siete megas más en iOS que en Android. Extrañado por esas megas de más, invirtió un día de su tiempo en investigar. Sus conclusiones son estas:

Primero. Las imágenes no son el problema, porque se tratan de las mismas para ambas plataformas.

Segundo. El binario de iOS resultante tenía varios duplicados completos del mismo código, para cubrir pequeñas diferencias en los distintos modelos de chips ARM. Apple aduce motivos de optimización.

Tercero. Al compilar para el sistema de los de Cupertino al final del proceso se encripta el código, lo que tiene un gran coste en tamaño. Cifrar una pequeña cadena de texto siempre resulta en una mucho mayor. Además, cualquier archivo cifrado presenta una variabilidad uniforme que hace que si se intenta comprimir los ratios de compresión sean malísimos. En cambio, Android no exije cifrado y el archivo apk no es mas que un jar firmado. Un formato que por otra parte ofrece una compresión enormemente eficiente y de sobra demostrada.

El programador mencionado no encuentra forma de solucionar estos problemas puesto que son inherentes a la plataforma.

Otra gran diferencia estriba en que, en iOS, el enlazado es estático, mientras que en Android es dinámico. Que el enlazado sea estático significa que se enlaza en tiempo de compilación y no en ejecución, lo que supone que muchas funciones que en Android las ofrecen librerías de java externas o del propio Toolkit, vayan en el binario y por lo tanto le sumen tamaño.

Para terminar, dejando ya las consideraciones técnicas. Apple ha echo otras jugadas que me parecen de lo más sospechoso o cuanto menos rastreras. Como, por ejemplo, suprimir sus modelos de 32 gigas en un aparente impulso de querer poner el dispositivo estándar con una capacidad mayor que las 16 gigas que teníamos. Pero extrañamente mantiene los de 16. Es totalmente incomprensible desde el punto de vista práctico y hace que uno se pregunte si no están engordando las apps adrede para convencer a los usuarios de que «inviertan» más en sus productos, adquiriendo los de más capacidad, y así engordar todavía más sus pingües beneficios. ¿Por qué si no iba la compañía de la manzana a aumentar el límite de descarga sobre redes móviles de 20 a 50 megas? Que cada uno sume y llegue a la conclusión que quiera.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *