Tuesday, November 18, 2014

Clearing Recent Apps is a waste of time and Task Killers don't work ! !

The second of these two statements is pretty much accepted as common knowledge by anyone even passingly familiar with how app caches and RAM work in Android, but the first statement is not as commonly understood. This is why the developer of Greenify, a great app you can use to hibernate apps that have a tendency to stay up past their bedtime, decided to clear things up.

To give you the super simple explanation (which we've covered in greater depth before), when you launch an app it gets stored in random access memory. When you close it, it stays in your RAM so that if you launch it again it will launch must faster. When you force close or swipe away an app in the recent apps list, you effectively clear out that cached app and the next time you launch it, it will be like you're doing it from a fresh boot. This means it takes longer and requires more system resources.

Now, when you have a recent apps list that's 20 apps long then it makes perfect sense to clear away the ''one-off'' apps that you opened once and probably won't open again in the near future. This clears up RAM for other tasks and, on a practical level, you probably don't need those apps stored in memory anyway. In this instance, swiping away unused apps can be a useful way to free up some additional RAM for other tasks. But clearing all of your recent apps creates slow down later on.

The same thing goes for task killers and RAM boosters, which simply kill everything: cached apps and background processes. The same problem arises when you launch the app again. If you've cleared it from memory it takes longer to launch, and if you've killed background processes they usually just start up again after a short period of time. So for freeing up RAM in the short term these are perfectly fine, but as a general remedy for improving performance they are nothing more than a panacea.

If you know how these tools work then using them is fine, but most people don't quite get the mechanics of how caches work and why they are actually a good thing. Take Android L's ART (Android Run Time), for example: by pre-compiling apps once and keeping them stored in RAM, you'll notice significant increases in app launches and responsiveness. This is a good thing, and there are several reasons why Google is making ART the default runtime in the next version of Android.

This is also why the dev behind Greenify, Oasis Feng, decided to illuminate us with the following pearls of wisdom:

Swiping away apps from recent tasks frequently is not a good practice, since it reduces the efficiency of process cache mechanism in Android, thus impact the performance of your device. Swiping away apps from recent tasks kills the process of those apps, thus prevent them from being cached in memory. When you launch them later, it takes longer time and much more CPU cycles to create the process and re-initialize the app runtime. Clearing recent tasks does free much memory, at the expense of later performance and battery consumption for launching those apps again. So if you have a device with 2G RAM, it gains no benefits in practice.

Have a Smiling Day :)

No comments:

Post a Comment