I have a Motorola Milestone, and I've come to learn that it has a relatively low memory (runtime memory, not storage capacity). The problem that comes with this is that whenever too many apps want to run in the background, the android system starts killing stuff, and with my Milestone that happens very easily.

That wouldn't be so bad, if it weren't for the fact that android seems to think the home launcher is the least important app of all (which is absurdly wrong). For instance, right now I have a series of apps poluting the background, some important (like Swype) and some pointless (like Facebook). If I open up even a simple app like Messages or Contacts or Settings the homelauncher gets killed in the background. Once I press the Home button, I am greeted with an empty home screen, and have to wait around 1 or 2 minutes for everything to load again.

This happens with all home launchers I tried, though it happens more easily with the heavier ones. So far, I managed to live with this behavior by religiously avoiding apps that run in the background (as well as widgets). But this solution is not perfect. It still happens more often than I'd like.

Is there a way to change android's priorities when it comes to killing background apps? But why does the home launcher rank lower than Google Maps' location service and Facebook's (inactive) uploader and everything else? I want the home launcher to be last thing that gets killed when memory is low, or as close to last as possible (e.g. it obviously can't rank higher than the currently active app, but you get my point).

I currently have Cyanogen mod 6 installed, but it also happened on the stock android OS, and I am willing to install absolutely ANY custom ROM to solve this issue.


I think ADW Launcher has a setting that should keep the application in memory. Also, CM has a setting to force the OS to keep the launcher in memory. I dont remember where it is at in CM6, but in CM7 it is in Settings -> CyanogenMod Settings -> Performance and it is called "Lock Home in Memory". I don't remember if it was in the same place or if it was called the same in CM6.

| improve this answer | |
  • This option is helpful but not ideal. It is what I'm using right now (and thanks for pointing it out), but sometimes it causes instabilities and sometimes it crashes the current foreground app. – Malabarba Feb 1 '12 at 12:23
  • 1
    Any app that stays in memory like you want is going to cause the instabilities you mention. You are forcing the device to keep memory in use for your launcher when it may need to use it for the currently running application. – Ryan Conrad Feb 1 '12 at 14:34
  • 3
    I understand. That's why I mentioned in the question that the launcher shouldn't have higher priority than the currently running app, but should be higher than the background apps. It's perfectly ok for the launcher to be killed if the active app needs the memory, I just wanted it to be killed after the other background apps have been killed (instead of being the first in line). But it's understandable that such an option just isn't there yet =). Can't have everything. – Malabarba Feb 1 '12 at 14:45
  • @BruceConnor, this is probably the one point against the argument that "Android handles memory just fine on its own". I think it does for the most part, it just kills the launcher repeatedly in the process. Not that a task killer would really help. – Chance Feb 10 '12 at 14:56

Try the v6 Supercharger.

It can make your Homescreen Launcher "Hard To Kill" or "Bulletproof". If you have ICS/JB, be sure to get the ICS/JB version.

Also, be sure to disable the Lock Home in Memory of your launcher (if it has it) before using v6.

| improve this answer | |

Try adding: ro.HOME_APP_ADJ=1 to /system/build.prop file and reboot (will require root).

Source: http://forum.xda-developers.com/showthread.php?t=860023

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.