It was inevitable that in 2020 we would see flagship devices with 16GB of RAM. With phones like the OnePlus 7T Pro and the Asus ROG Phone 2, and others, making the leap from 8GB to 12GB in 2019, it really was just a matter of time before 16GB became an option. And here we are: The top model of the Samsung Galaxy S20 Ultra has 16GB of RAM.
16GB RAM sounds nice, and it will certainly give you bragging rights among tech-heads, but do you actually need it? Is it useful? Or just superfluous? Let me explain!
A bit about Android memory management
At the beginning of 2019, I did some research which culminated in my article “How much RAM does your phone REALLY need in 2019?” If you haven’t had a chance to read it then I wholeheartedly recommend doing so. However, here is a summary of how Android handles memory.
Whenever you tap an app’s icon, Android will create a process (a task) to run that app. For our purposes, the app and the process are synonymous. The Linux kernel manages the system resources including CPU time and memory so that each process (app) gets what it needs. When there is enough memory and enough CPU time then the kernel can freely divide up the resources as needed. However, problems start to occur when resources are scarce.
When CPU time is limited the biggest casualty is performance. The work at hand will still get done, but it won’t be as quick. RAM is different. When you have no more free memory, waiting longer or slowing things down probably won’t result in any more RAM becoming available. So, the kernel needs to be proactive to get back some RAM.
Android has two options at this point. First, there is the idea of swapping using zRAM. Android can allocate a chunk of physical memory for swapping. Swapping is an idea Linux uses on PCs and servers. When main memory is at a premium, the least used pages of memory are written out to the disk and the memory they previously occupied becomes available for other processes. If that swapped-out memory is later needed, the swapped-out data is read back from the disk and allocated a place in memory again (swapped-in), where it can be used.
One thing Android can’t do is swap to the internal storage, it is generally flash memory and it has a limited write lifetime. While enough for our photos and apps, this limited lifetime isn’t enough for swapping. Instead, Android compresses the memory and writes it back into another part of memory, in a section reserved as zRAM. The ‘z’ comes from the historic use of the ‘.z’ file extension for compressed files. If we assume a 50 percent compression ratio, 128KB of RAM can be reduced to 64KB, freeing up 64KB. This is the equivalent to swapping-out pages to disk. The compressed memory isn’t directly usable, so if Android needs it again then it must be uncompressed and copied back into memory. This is the same as swapping-in.
If sufficient RAM can’t be freed up using zRAM, or a device isn’t designed by the manufacturer to use zRAM (not all Android phones use zRAM), then the kernel needs to be more aggressive and start ejecting processes (apps) from memory.
The app that is requesting more memory (probably because it was just launched) is the foreground app. It is the most important app as far as Android is concerned because the user (the boss) just launched it. So, Android will look for older apps it can remove from memory. If you started Temple Run three days ago and switched away, but never returned, then Android can assume you aren’t going to switch back to it any time soon. Therefore it can be killed off and removed from memory. Once it has gone, the memory it used can now be given to the foreground app.
An app’s sense of impending doom is in fact part of its normal life-cycle. Every app developer knows that their app could be ejected from memory. However, Android does try to give the app ample warning about this. This means the app can save its current status. When the app is reloaded, it can just read the last status information and carry on from where it left off.
The worst-case scenario is when a large app (probably a game) is launched and several apps need to be ejected from memory to make room. This is expected behavior, but there is a nuisance factor for the user because when they switch back to a previous app it will need to reload and then restore its saved state. The key phrase is “nuisance factor.” It isn’t broken behavior or something that needs to be fixed. It is what happens when you try to squeeze too much into a limited space.
There is an argument that if you are paying top dollar for a flagship device then these “nuisances” should be reduced to a minimum. To do that the device needs more RAM. Simple as that. But how much?
In very broad terms a normal app (productivity, social media, photo editing) or casual game takes 400MB of RAM. This is very much a generous generalization since some apps will use less and some more. If your device comes with 6GB and has around 3.5GB free after a reboot, then you can hold nine apps in memory simultaneously without any apps being ejected from memory. This means you can freely switch between two or three social media apps, email, and a few casual games and never see an app reload.
8GB really is the sweet spot. Common apps remain in memory for long periods of time and the multi-tasking experience is seamless. You can even have a memory hog of a game loaded and you really won't see many app reloads.
But, there are some grand memory hogs in the Google Play Store. A game like Asphalt 9 or Real Racing 3 can use between 1GB and 1.4GB of RAM. That means that three or four of your existing apps will likely need to be kicked out of the main memory to make room for the game. 1.4GB sounds bad and it is, but that is nothing compared to Fortnite which can ask for a huge 1.7 GB.
If you have an 8GB device, with 5GB free then you have enough RAM for ten apps and a big game in memory. You can switch from your game to your social media app of choice, then on to your email, over to a different social media app, message someone, read a couple of articles on the web, check the weather for tomorrow, and then finally return to the game without any problems.
8GB really is the sweet spot. Common apps remain in memory for long periods of time and the multi-tasking experience is seamless. You can even have a memory hog of a game loaded and you really won’t see many app reloads.
With 12GB of RAM, then the device will have at least 8GB of free memory, probably even more. That means you will have enough memory for a dozen or more apps and casual games, plus two big games. All loaded in memory simultaneously. You can play Fortnite, switch to taking photos, post on Instagram, watch a movie, listen to some music, buy something from Amazon, watch a Gary Explains video on YouTube, and then switch back to Fortnite and it will still be in main memory.
Our impressions: Samsung Galaxy S20 hands-on: Focusing on the competition
Can a user of the S20 Ultra with 16GB do more? Technically, yes, but will they notice? I doubt it. Do the math. Fortnite + Asphalt 9 + Real Racing 3 = 3.7 GB. That means with those three games all in memory you will still have around 8-9GB of free memory. That is enough for 20 other types of apps: social media, photo editing, casual games, business apps, health and fitness, and more.
12GB is already way beyond the optimal amount of memory, 16GB shoots past it and goes into orbit. Granted, the S20 Ultra is aimed at a small segment of the flagship market, which is itself a small segment of the overall worldwide smartphone market. But will S20 Ultra owners really “feel” the difference between being able to keep two big games in memory and a dozen apps with 12GB, and keeping three big games in memory and 20 other apps with 16GB? It’s very unlikely, though Samsung has introduced a unique RAM-related feature with its ultra-expensive Ultra phone called App Pinning.
Samsung Galaxy S20 Ultra: What is App Pinning?
App Pinning allows the owner to specify which apps Android should try to keep in memory at all times, and only eject them as a desperate last resort. You can specify up to five apps, including games. The idea is that if you an enthusiastic gamer then you can make sure that Fortnite is always loaded and ready. Or if you are a social media butterfly then you can mark Twitter, Instagram, etc. This is actually a really good idea and something that should be available in standard Android, and not just for devices with oodles of RAM.
12GB is already way beyond the optimal amount of memory, 16GB shoots past it and goes into orbit.
However, it is also a tacit admission that the only reason to have more RAM in your smartphone than the average Windows 10 laptop is because you want apps to remain in memory. It doesn’t make the apps run any faster. It doesn’t improve the speed of the UI. It doesn’t boost GPU performance. It doesn’t improve battery life. It doesn’t give you better download speeds. It doesn’t make your phone charge faster. It doesn’t do anything other than remove the 1.1 second wait for Instagram to reload if it got forced out of memory because you were playing Fortnite.
Maybe that is a good enough reason for you. But I am not so sure — and considering the exorbitant price of the Galaxy S20 Ultra, I’d want to be very sure before parting with all that cash.