1 votos

¿Por qué Google Maps ocupa 48M en Android 4.4.4 y 125M en Android 5.1.1?

¿Por qué Google Maps solo tiene 48 megabytes en Android 4.4.4, pero es de 125M en Android 5.1.1? Parece que el teléfono con Android 5.1.1 tiene un procesador de 32 bits y el teléfono con Android 4.4.4 tiene un procesador de 64 bits según devicespecifications.com. Pensaría que el teléfono de 64 bits tendría el binario más grande.

4 votos

La razón principal será que Android 4.4 utiliza Dalvik, pero con Android 5 y versiones posteriores se utiliza ART, que en promedio necesita alrededor del 25 al 50% más de espacio para "código precompilado". Aunque la diferencia entre 48M y 125M parece superar eso, lo que podría significar que diferentes versiones (ya sea en términos de "números de versión" o en términos de "variantes" debido a las diferentes versiones de Android) son un segundo criterio.

0 votos

Las números de versión listados en la configuración de la aplicación parecen ser los mismos. ¿Hay alguna otra forma de verificarlo?

0 votos

También he descubierto que puedo habilitar ART en mi teléfono. Lo intenté, pero no pareció cambiar nada. Lo que leí fue que solo funciona para el chipset Snapdragon, pero creo que mi teléfono tiene mediatek. Gracias por la información.

2voto

Guillermo Gomez Puntos 423

Si tienes acceso a root, puedes navegar por /data/app y esa es la diferencia.

\# Ejemplo para Android K 4.4
com.android.vending-1.apk
com.google.android.apps.maps-1.apk

# Ejemplo para Android L 5.0/5.1
com.android.vending-1/
com.google.android.apps.maps-1/

Y si lista el contenido de uno de ellos, verás

com.google.android.apps.maps-1/:
base.apk (54MB)
lib/

com.google.android.apps.maps-1/lib/:
arm64/

com.google.android.apps.maps-1/lib/arm64/:
libcronet.59.0.3602.4.so    (4.9MB)
libgmm-jni.so    (9.4MB)

También, Android 4.4 implementa el antiguo Dalvik VM, mientras que en Android 5+ Google cambió a un nuevo VM llamado ART. La principal diferencia es que Dalvik compila aplicaciones Just-In-Time (JIT), mientras que ART compila Ahead-Of-Time (AOT), por lo que se compila más código en ART que en Dalvik. Por eso este es realmente grande:

/data/dalvik-cache/arm64/data@app@com.google.android.apps.maps-1@base.apk@classes.dex    (109.5MB)

En Android 4.4 es mucho más pequeño, puedes comprobarlo por ti mismo.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X