I hear lot of people complain that Apple charges high price for iPhones but still provides only 1 GB of RAM, where as the other phone makers like Samsung and HTC provides 2-3 GB of RAMs.
So, here we need to understand the first basic thing that iPhone runs on iOS which is written on C & C+ language, where as Samsung, HTC runs on android which is written on Java language.
So when we run an app on Android, it runs on top of a virtual machine* on the phone. This requires much more memory than a native operating system* like iOS.
Meanings:
1. Virtual Machine: Dalvik is the process virtual machine (VM) in Google's Android operating system. It is the software that runs the applications on Android devices. Dalvik is thus an integral part of Android, which is typically used on mobile devices such as mobile phones and tablet computers as well as more recently on embedded devices such as smart TVs and media streamers.
2. Native Operating System: Used to designate the lowest level of virtualization or the absence of virtualization. For instance the term “Native VM” is used ensure reference to the lowest level operating system, the one that actually maintains direct control of the hardware when multiple levels of virtualization occur.
[So on android to run an app the system requires one more software (Dalvik) to run the app. That is why more RAM is required for android phones]
Test: Cross-platform apps are a great measure of performance. Bloons 5, for example, past level 80 or so and lags like crazy Galaxy S5. It continues to run smoothly on my iPhone 5S well past level 100.
Putting more RAMS in a phone does not directly have an effect on user experience, moreover, more RAMS gives bad app developers more excuses to not optimize their apps, they can let their app bloat in the memory, affecting the phone's performance. iOS is considered more adept than Android at managing and optimizing resources. So comparing the amount of RAM on an iOS device versus that on an Android device is a bit like comparing apples and oranges.
