Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

App file size differences in Android and iOS

People also ask

Are iOS apps bigger than Android apps?

Statistically, the average iOS app is about five times large than its Android version. Facebook, for example, is sized at over half a gigabyte (precisely 519.4MB) on Apple's App Store while the same Facebook has an app size of 72MB on the Google Play Store.

What is the difference between iPhone and Android apps?

iOS apps generally require less development time and are cheaper to build and maintain than Android apps. iOS developers use Swift, Apple's native programming language, whereas Android developers typically use Java and/or Kotlin.

Why are apps different sizes?

The screen space available to your app can differ from the screen size of the device for many reasons. On mobile devices, split‑screen mode can partition the screen between two applications. On Chrome OS, Android apps can be presented in free‑form windows that are arbitrarily resizable.

Does Android have better storage than iPhone?

When it comes to storage, Apple still lags way behind the cloud storage of Google. With iCloud, you will get only 5GB, while with Google's cloud, users get 15GB plus cross-platform support. Also, the iCloud storage works only with Windows, Mac, and iOS.


I have just spent the last day or so trying to track this exact problem down. I have built a little game called BlockIT for Android, and now I have a running version for iOS. The extremely odd thing is that the Android version is 8.2 MB and the iOS version is 14.1 MB.

Now, since I am the owner of the source, I wanted to track this down and find out why. As many suggest here that it is the graphical elements - this is not the case. The entire data set (non code) was almost identical in each package. Which makes sense since I am using the same graphics in each application.

So, why is the code build so much different! My iOS code build was nearly 7 MB and the Android one was less than 3 MB. The code itself was written to run identically and all but small portions of code are exactly the same on each platform. What I found was that the build (iOS gcc) settings had massive effects on what size of output you get. If you set only to target ARM6 or ARM7 then the size of my code binary dropped from 7 MB to 5 MB. This indicates there are almost complete duplicates of functions and libraries for each target in the one binary! Additionally, the built-in debugging symbols dont seem to get entirely stripped. Finally, the encryption of the code also costs large amounts. This is probably the most puzzling, since Android signs their apk's in a similar fashion. It seems that the iOS signing is done very oddly.

So, I hope that helps. To reiterate:
- Images / Data don't seem to be the problem
- Code building on iOS generates multiple platform output in the one binary == lots of extra code (btw I dont wee why Apple does this - seems odd).
- Code encryption is not very size friendly on iOS.

There's no real way to fix the actual problem (again, odd and disappointing).


The binary executable in an iOS app is encrypted, and thus compresses very poorly or not at all. The binary executable in an iOS app is compiled with some library code statically linked, which can often make it larger than interpreted Dalvik byte code for similar stuff. iPhone apps tend to contain more high quality graphics content and artwork for multiple screen resolutions including the relatively large iPad display.


For a universal app in iPhone we need to put three size of images -

one for 320x480 px
second for 640x940 px (retina)
third for 768x1024 (iPad)

where as while developing a android application we need to put three kind of images -

hdpi (high)
mdpi (medium)
ldpi (low)

one more thing here in android there is no compulsory rule to put all three kind of images. Basically it depends on for which target you are making app , only for those resolution we need to put images.