We often wonder why iPhones require less RAM than their Android counterparts, again, why it is more expensive than Android devices with same specifications.
The iPhone works a lot smoother and faster than an Android device even with the same amount of RAM. Which means an iPhone with 2GB RAM works much faster than an Android device with 2GB RAM with same features. This could be the reason why the iPhone 6 was the best performing phone in its time with just 1GB of RAM.
We took our time to compare the performance of iPhone 7 (2GB RAM) with Samsung s7 (4GB RAM) and for real there were noticeable differences in their performance.
Which brings about these questions “Why do iPhones require less RAM than Android devices?” Why do Android devices need more RAM?
To unravel these, we’ll need to put into consideration these four major factors:
— The Garbage collection
— App Management
— User Interface
Android Apps based on Java require more RAM than iPhone because it does more of garbage collection.
The problem with garbage collection is that memory usage grows until it’s collected, so there might be more memory allocated than necessary. That’s bad for devices with restricted memory and no option to swap as found in older versions of Android.
When the garbage collector runs, it scans the heap to find memory that’s no longer useful and this process actually slows down the device until is has completed.
The iPhone, on the other hand, do not use Garbage Collection. It uses Automatic Reference Counting, which is an innovative way of managing Objective-C objects on iOS. It does away with explicit retain, release and autorelease messages, and it behaves the same on both platforms. Unlike garbage collection, ARC does not handle reference cycles automatically. This means that as long as there are “strong” references to an object, it will not be deallocated. Strong cross-references can accordingly create deadlocks and memory leaks. It is up to the developer to break cycles by using weak references.
Most Android users often complain about phone lag but that is not the case of iOS as iOS UI runs so smooth. The main reason is that the iOS UI rendering happens in a separate thread with real-time priority but on Android, this happens in the main thread with normal priority. This means that other apps in Android can take over the processor resources and hurt basic UI interactions, translating into a noticeable lag.
Android lets developers run processes in the background more freely than iOS. iOS automatically kills any process when it thinks it doesn’t need to be running. Apps that play music in the background or similar can stay alive.
Android gives a lot of freedom to app developers that cause memory leaks or resource hogging background processes which means you need to be careful what you install on your Android device. Android has made some attemps to control this, such as killing apps that use too much CPU, but still, these problems can be noticed by the user.
The iOS puts a lot of limitations on the developers and what they can do causes them not to do much harm.
Apple’s iOS is optimized to run on the hardware, which is also designed and tested by Apple and manufactured by Apple’s manufacturing partners. Android doesn’t have that level of control because the software OS developers are separate from the hardware makers.
Considering all these factors, we probably shouldn’t blame some people for sticking to their expensive iPhones but then Android still remains the “majorities favourite”.
If you enjoyed this post, please kindly use the share button to get this to your social contacts, you doing this actually helps us grow. Also bookmark our site, comment and like our Facebook page in order to get the best mobile tech tips delivered to you.