Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

One of my biggest pet peeves with Android (due to heavy use of my Droid X for reading web pages) is the fact that it can kill ANY application it wishes when doing its automated memory management. Especially, the fact that it usually starts by killing the stock browser as opposed to other less useful apps.

More specifically, if I:

  • have multiple tabs open in Android's native browser (or even a single tab with some state in it, such as Google Reader)

  • and then switch to some memory hogging app(s), e.g. some heavy game from Glu or Google Maps/Navigation

  • Then, Android memory manager decides to kill my browser to free up memory (as opposed to, say, such critically important processes like Google Play or media player which I don't want)

  • Which, due to Froyo's stock browser not preserving its session state, loses all the open tabs I had, as well as in-tab state (e.g. which Google Reader article was open).

Is there a way to white-list an app (web browser) so Froyo 2.2 memory manager does NOT kill it?

System: Droid X with stock Froyo 2.2 ROM, rooted.

share|improve this question
    
I gave you an up vote but then the page went crazy when I tried to leave my comment and wouldn't let me fix my partially posted comment. It's hard to hit the edit link on the mobile site. –  Matt May 6 '12 at 14:06
    
No need to change the question for me. I didn't downvote you. –  Matt May 6 '12 at 14:29
    
What I was trying to say before the mobile site went bonkers: I looked for this a while ago but couldn't find anything. I can't believe there is no way to set the priorities of specific apps so minfree has some guidance when deciding which app to kill. –  Matt May 6 '12 at 14:31
    
Seems like you could work around this issue by using a different browser. –  Gdalya May 10 '12 at 19:02

1 Answer 1

AFAIK, you can't.

But, you can customise when to kill background apps (not selective app) by tweaking MinFree values set by Android (root is required for tweaking). If you have problems dealing with it, there are many apps in Play Store for that. My fav is AutoKiller Memory Optimizer.

And, when foreground app and/or kernel runs out of memory, killing background apps can't be prevented. It's because foreground apps and kernel are more important than background apps. Probably, you'd not be wanting to crash device to preserve your web browser in background.

Update:
Another approach is to create/increase swap memory in device. There are apps for this purpose too: Swapper (by dario) and Swapper 2 (by Elviss).

share|improve this answer
    
1. I tried messing with MinFree - it made Froyo very unstable (spontaneous reboots >1x/day on pretty much ANY custom settings - I tried numerous). 2. My problem isn't killing background apps - it's killing when not necessary (I KNOW how much memory my foreground app needs, how much free I have, and how much junk like Google Play or Amazon Store take. Enough can be freed without touching the browser) –  DVK May 6 '12 at 0:58
    
@DVK Your question is great, but it requires exclusive support from kernel for that. I'd update if I find a solution. And, do the same if you find it. It could really be useful. –  Sachin Shekhar May 6 '12 at 7:37
1  
@DVK Meanwhile, you can try increasing Swap. –  Sachin Shekhar May 6 '12 at 7:38
1  
didn't realize that's doable under Android. Will look into that - thanks! Add it to the answer pls. –  DVK May 6 '12 at 8:42
1  
There are situations where having the foreground app force close because it can't have enough memory is preferable to having the background app close. I wish there was a "keep current app alive" checkbox in the switch app -dialog, or something. –  Ilari Kajaste May 7 '12 at 8:49

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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