Main memory, or RAM as it is commonly known as, is the part of your phone’s hardware where the running applications reside enabling the OS to quickly access the required data. This RAM, or memory, has a much faster refresh rate than ROM (storage) thus enabling faster data access. Data stored on this memory is volatile, i.e., as soon as power is put off, the hardware loses all the stored data.

Today we will discuss the issue of phones not agreeing with the advertised RAM capacity. This has been a topic of debate ever since the common man started getting aware about terms like RAM and ROM. Most mid-range phones today ship with 1GB of RAM, however, users have always complained that their phone does not show the actual advertised capacity. Some users go as far as to accuse the OEM (Original Equipment  Manufacturer) of scam.

However, a veteran would tell you that this is indeed not a scam and a part of the whole manufacturing process. There is, in fact, some difference in between the available RAM and installed RAM.

Why does this happen, and why don’t companies list the available RAM instead? Wouldn’t it help in reducing the confusion? The answer is no. OEMs have to list the installed RAM, because the available RAM is a function of the OS. A major part of the ‘invisible’ or hidden RAM is taken up by shared graphics memory. In layman terms, a part of RAM is used by the phone’s graphics processor (analogous to a graphics card on a desktop) in order to process and display visuals on your phone’s screen.

Another major chunk of this invisible RAM is taken up by the OS. Not only Android phones, but all phones today have heavy operating systems installed which need a fair share of memory to operate. In a typical Android device, you can expect about 150-250MB of the RAM to be taken up by the OS. And since the available RAM is calculated after the phone boots up, it is bound to show the available amount and not the actual installed amount.

Here is a chart showing the basic RAM availability in most phones:

RAM

This way, on a 1GB RAM phone, you can expect about 800MB of RAM to be available for user applications. However, with advancements in open source development, some developers have created custom kernels which actually reduce the amount RAM being used by the OS and other hidden services, and allow the user to have more available RAM. This, of course, has it’s own share of side-effects which might include laggy OS transitions, poor multitasking experience, etc.

Something noteworthy when talking about RAM usage is OEM overlays on the Android OS. Most OEMs like Sony, HTC and Samsung have their own skins for the Android OS, like TouchWiz and Sense, which take up more RAM than vanilla Android. So, if you feel the need for more available RAM, you should probably go for an AOSP/AOKP/CyanogenMod ROM (given that you have these for your phone, of course). This way, you can reduce the load on your device’s graphics processor and give a miss to other unnecessary services, which will leave you with some extra available RAM!