Why are iPhones more memory efficient than Android?



You have probably heard this one, what is better iPhone or android? The Android and iPhone battle is never going to stop. Apple fanboys have numerous reasons to defend their Apple products. The same way Android users have a lot of reasons to why their systems perform better. so which is better iPhone or android?


As most of you know, Android is a Mobile Operating system introduced by google which revolutionized the market. When Steve Jobs introduced iPhone to the mass market, it was breathtaking; it was nothing like we had seen before; the system was all touch screen which had just one button. It was a massive introduction to the masses, which was praised for its intuitive interface and quality capacitive touch screen.


The candy bar styled smartphones were soon replaced by touchscreen units. Nokia was dominating the smartphone market with their N series of phones. before Android and Apple took over the market for smartphone devices.

Android was more open, not only for the developers but also for the people because it supported multiple manufacturers.


 Let us not argue which one is better; in this discussion both Android users and iPhone users already know the pros and cons of their devices.

One thing has always been evident; Android phones have always had better specifications than iPhone's, one of them has always been the RAM size. Why is it that iPhone's have lesser RAM and still perform as well as Android devices.

There are many reasons for this, Remember Android needs to support multiple devices, unlike iPhone's. iPhone's have all the hardware units restricted to their devices, unlike Android operating system which needs to support different hardware units. How is it possible to do that without a middle layer.

This middle layer is nothing but a virtual machine, The machine is an extra processing part for the system. This is the reason iPhone's perform better because the system needs no such machine to run the software because all the hardware for the system is managed by apple.


As the Android operating system uses Java which is a computer language, known to run on multiple platforms, Java uses a virtual machine for this, known as JVM; short for Java Virtual machine. Android uses a Virtual machine similar to this for platform independence ( support multiple devices).

Java uses Garbage collector, which even the android does for memory management. The Garbage collector plays an important role in managing memory. Garbage collectors destroy part of the data in memory which is no longer required. Garbage collector is part of memory management, then how does it turn out to be inefficient if Android uses it? The Garbage collector needs more memory to work efficiently. This becomes evident when there are multiple apps running at the same time. iOS do not have any kind of virtual machine running, because it does not require one. The same with the Garbage collection .

Also all the user interface rendering on Android  happens on the main thread with normal priority, while iOS does the same on a separate thread, and has high priority for the user interface rendering. This makes a big difference when the UI elements need to be rendered on the screen and have the system perform background operations. This leads to more memory usage and more load on the processor in turn, reducing the efficiency of processing speed on Android devices.

            


No comments:

Powered by Blogger.