[GUIDE] Improve Your Android User Experience and Multitasking
How Android manages Memory
Android groups all apps into 6 groups, from highest priority to lowest:
- you see this app on screen, currently running, but also includes the system itself and "phone"
- the app is running and visible, but due to multi-tasking or such is not currently "on top"
- services that stay in background and apps such as Launcher (or other home replacements). Most services go here, like music player, clock updater, background sync, and so on, that's not built into the OS.
- apps not visible, but still running in the background
- process that provides content to the foreground, such as "contacts content provider", "calendar content provider", and so on. May also known as "storage".
- the app is in standby, not being used, but is still in memory.
How to manipulate this to get the best performance
We can manipulate our OOM values for each of these categories using the app "System Tuner Pro" (not sure if it works with the free version or not) or "Auto Memory Manager", there may be others too. After installing from the market, open it and click on "Memory" - you will then be able to change OOM values. Having a lower OOM value for a category, means android will wait longer until killing apps from that group.
From what I have experienced, the more open apps in the "Empty App" category, the slower and more sluggish the phone. Having these apps open is basically a waste of memory, because they are in standby and not being used. A high OOM value should therefore be set for "Empty App".
Processes that fall into the "Content Provider" category are also a waste of space; they only actually get used when running the application that service belongs to. This means that often the service will be running in the background when it doesn't actually need to be. A high OOM value should therefore be set for "Content Provider".
The other four categories all contain apps actually being used by the user. When multitasking you want these apps to stay open. A low OOM value should therefore be set for "Foreground App" "Visible App" "Secondary Server" and "Hidden Application"
Doing this is similar to what the SuperCharger Script does, but in my opinion this solution is simpler to implement and easier to change depending on the users needs.
I have attached a thumbnail of my setup, but everyone uses their phone differently so you may want to alter some of the values.
Click Thanks if you tried this and it helped!