1

Why is Google maps only 48 Megabytes on Android 4.4.4, but is 125M on Android 5.1.1? The Android 5.1.1 phone seems to have a 32-bit processor and the 4.4.4 phone seems to have a 64-bit processor from devicespecifications.com. I would think the 64-bit phone would have the larger binary.

  • 4
    Main reason will be that Android 4.4 uses Dalvik, but with Android 5 and up ART is used, which on average needs about 25..50% more space for "pre-compiled code". Though the difference between 48M and 125M seems to exceed that – which might mean different versions (either in terms of "version numbers" or in terms of "variants" due to the different Android versions) are a second criterion. – Izzy May 6 '17 at 20:18
  • The version numbers listed in the app settings appear to be the same. Is there any other way to check? – Lee May 6 '17 at 23:14
  • I've also discovered that I can enabled ART on my phone. I tried, but nothing seemed to change. What I read was that it only works for the snapdragon chipset, but I think my phone has mediatek. Thank you for the information. – Lee May 6 '17 at 23:35
  • 1
    @Izzy Two primary reasons: 1. On a 64-bit system some apps are optimized twice, generating a 32-bit odex and a 64-bit odex. 2. All libs are extracted on Android L. – iBug May 7 '17 at 1:22
2

If you have root access, you can browse /data/app and that's the difference.

# Sample for Android K 4.4
com.android.vending-1.apk
com.google.android.apps.maps-1.apk

# Sample for Android L 5.0/5.1
com.android.vending-1/
com.google.android.apps.maps-1/

And if you list the content of one of them, you'll see

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)

Also, Android 4.4 implements the old Dalvik VM, while on Android 5+, Google switched to a new VM called ART. The main difference is that Dalvik compiles apps Just-In-Time (JIT), while ART compiles Ahead-Of-Time (AOT), so more code is compiled in ART than in Dalvik. That's why this one is really big:

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

On Android 4.4 it's much smaller, you can find it out by yourself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.