Unlike various Android smartphone vendors, Apple rarely prioritizes the RAM capacity of the iPhone. iPhone RAM capacity is usually smaller than Android devices in the same generation.
The iPhone 12 trio, for example, only has 4GB to 6GB of RAM. Meanwhile, new Android phones, especially the upper middle class and flagships, can have RAM with a capacity of 8 GB to 16 GB.
Despite having smaller RAM, the performance of the iPhone is practically comparable to a flagship Android smartphone with up to twice as much memory capacity, if not faster. What’s the secret?
One of the keys is the memory management of iOS devices which is relatively better than Android. The two operating systems are built in different ways.
Reasons Android Needs Big RAM
Android smartphones use a virtual machine based on the Java programming language so that it can run on various devices with different hardware configurations.
Android application programmers can simply write an application once in Java, then the virtual machine will run it on any system, without having to write and recompile it.
The problem is that because it has to handle the application’s original Java code, translated code, and the emulation process itself, this virtual machine is complex and requires a lot of memory and resources.
Also, in Java, memory that is no longer used by an application must be recycled through a process known as Garbage Collection, so that it can be used by other applications.
To run effectively, Garbage Collection requires a large amount of RAM. If there is not enough available RAM, the device will recycle memory too often, reducing performance.
The Java virtual machine and memory management process is what causes Android manufacturers to often install large capacities of RAM, to ensure their devices run smoothly. The Android virtual machine process has actually been upgraded so that it no longer takes up as many resources as it used to. However, Android applications have also grown to be larger and more complex, thus requiring more memory.
iOS Only For Apple
On the other hand, iOS doesn’t suffer from similar problems with its memory management. From the start, the applications were written and compiled natively using the Swift (formerly Objective-C) programming language.
This native code is then executed directly by the hardware so that iOS does not need a memory-intensive Java-style virtual machine. Because iOS and its applications are designed to only run on Apple-made devices, they don’t have to accommodate various devices with different hardware configurations such as Android.
In addition, the application memory management process between the two OS is also different. In Android, memory management is performed by the operating system. While on iOS, it is handled by the app.
Instead of the operating system giving apps as much memory as possible, to be recycled when it’s no longer in use, iOS apps automatically manage their own memory allocation as needed, making it more efficient.
Different Notification Receipt System In Applications
In addition to the differences in how the operating systems work above, another thing that contributes to the large RAM requirement on Android phones is the difference in the system for receiving push notifications in applications, such as instant messages and social media.
The AndroidInfotech site explains that in terms of these notifications, Android applications work similar to computers. Each application, must actually run in the background to be able to receive notifications.
If the application does not run, the notification (push) will not be received. This can certainly be a problem for applications that require an immediate response, such as WhatsApp. The more active applications, the greater the memory used.
Meanwhile, applications on iOS do not have to run in memory to be able to receive notifications. Because, different from Android, applications on the iPhone are not connected directly to the server, but through the intermediary of Apple’s servers.
The advantage is that applications on iOS do not have to be active to receive notifications. The application server will send a notification to the Apple server first. Then, Apple’s servers will send a notification to the device and activate the related app.
In this way, the device also doesn’t need to open multiple communication ports to different servers for each application -for example to the Facebook server, Telegram, and so on – but simply by porting it to Apple’s servers, thus saving memory usage further.
Google through the Pixel smartphone series has actually begun to imitate the steps of the notification system through an intermediary server such as the iPhone. Unfortunately, this process only applies to applications made by Google itself, such as Gmail and Google Drive.
The problem with apps that must always be active to receive notifications is even more obvious on Android phones in China. This is because the Android ecosystem in China cannot connect to Google services (servers) which are indeed blocked in that country.
As a result, Android phones for the Chinese domestic market also tend to have RAM with a larger capacity than versions sold globally.