Related
If i understand Android correctly, it sends applications into a "background" mode when switching tasks? I would like to prevent that. There are some apps (like games or browser) that need quit a bit of time restoring the last state so this would be usefull for some tasks.
Is this possible ?
TyrionWarMage said:
If i understand Android correctly, it sends applications into a "background" mode when switching tasks? I would like to prevent that. There are some apps (like games or browser) that need quit a bit of time restoring the last state so this would be usefull for some tasks.
Is this possible ?
Click to expand...
Click to collapse
Well, switching to background mode just marks the application as not displaying anything. The way memory management on Android works, if foreground apps (i.e. apps that are actively displaying on the screen) need memory and there's none available, then background apps will be put into a stored state that frees up memory for the foreground apps. Coming back from that stored state is probably what you're noticing. Android also tries to keep a certain amount of unused memory around and will put background apps into stored state to achieve that. We do have pretty limited memory available on this device so some level of pausing is always going to happen. See also: http://andrs.w3pla.net/autokiller/details
You may be able to reduce how many background tasks are put into storage by tweaking the minfree parameters (using e.g. Autokiller Memory Optimizer from the market) to tell Android to aim for a smaller pool of free space.
Mioze7Ae said:
Well, switching to background mode just marks the application as not displaying anything. The way memory management on Android works, if foreground apps (i.e. apps that are actively displaying on the screen) need memory and there's none available, then background apps will be put into a stored state that frees up memory for the foreground apps. Coming back from that stored state is probably what you're noticing. Android also tries to keep a certain amount of unused memory around and will put background apps into stored state to achieve that. We do have pretty limited memory available on this device so some level of pausing is always going to happen. See also: http://andrs.w3pla.net/autokiller/details
You may be able to reduce how many background tasks are put into storage by tweaking the minfree parameters (using e.g. Autokiller Memory Optimizer from the market) to tell Android to aim for a smaller pool of free space.
Click to expand...
Click to collapse
Thanks, i'm will give it a try. Is it also possible to max out swap before sending apps to background? I think restoring the ram-state from sd would still be faster for several apps.
Edit: reading your post again, i'm not talking about a tasking switch delay, but apps that completly reload themselves when switching tasks (DolphinMini page load,DungeonHunter as examples). Just to prevent any confusion...
TyrionWarMage said:
Thanks, i'm will give it a try. Is it also possible to max out swap before sending apps to background? I think restoring the ram-state from sd would still be faster for several apps.
Edit: reading your post again, i'm not talking about a tasking switch delay, but apps that completly reload themselves when switching tasks (DolphinMini page load,DungeonHunter as examples). Just to prevent any confusion...
Click to expand...
Click to collapse
Oh... Sorry I misunderstood. I don't know anything relevant to that case.
I've spent a few hours trying to find how to make certain Droid apps maintain their foreground state when put in the background with no luck. Perhaps it just can't be done.
I'm thinking of the Cydia iPhone app called Backgrounder which lets you choose which apps maintain foreground state when put into the background.
This is necessary, for example, with a note application where you are switching between taking notes and looking up info. Every time you switch back to the note app, you need to go back into your note, put it in edit mode and navigate to the section of the note you were editing. If it were acting like a foreground app in the background, when switching back to it it would already have your note open and be in edit mode with the cursor where you left off.
K9 mail has a similar problem where if you have an email open, switch to another application, when you go back to K9 it takes you to your inbox again where you have to navigate to the email you had open before switching.
Is there a tool similar to Backgrounder for Android?
Thanks.
nheacock said:
I've spent a few hours trying to find how to make certain Droid apps maintain their foreground state when put in the background with no luck. Perhaps it just can't be done.
I'm thinking of the Cydia iPhone app called Backgrounder which lets you choose which apps maintain foreground state when put into the background.
This is necessary, for example, with a note application where you are switching between taking notes and looking up info. Every time you switch back to the note app, you need to go back into your note, put it in edit mode and navigate to the section of the note you were editing. If it were acting like a foreground app in the background, when switching back to it it would already have your note open and be in edit mode with the cursor where you left off.
K9 mail has a similar problem where if you have an email open, switch to another application, when you go back to K9 it takes you to your inbox again where you have to navigate to the email you had open before switching.
Is there a tool similar to Backgrounder for Android?
Thanks.
Click to expand...
Click to collapse
Looking for such tool too. Making app to stick with its foreground state even though it is actually in the background. (Make it appear in notification?)
ZDBox is a useful tool... you can download from market its free and the app has the abbility to:
★ Traffic counter: Monthly/daily mobile data usage overview, shows remaining data traffic, detailed data usage information for each app.
★ Do not disturb: Just set days and the time when you need your privacy and you won’t be disturbed by your phone. Set phone to silent, vibration or airplane mode.
★ App lock: Protect apps with a password or pattern, for exmaple your contacts, Facebook, Twitter, Whatsapp,Gmail and so on
★ Task killer: Kill all apps at once, define protected apps which won’t be killed, set auto kill when screen gets locked, mark single or multiple apps to kill
★ history eraser:clean your(Browser history,market search history,Google Map search history,Gmail search history,Clipboard)
★ Notification bar: One tap on the bar shows remaining battery time, running apps, how much data traffic is left and if app lock is active or not. A tap on these informations starts ZDbox.
★ Uninstaller: Shows used/available internal and SD card memory. Apps can be easily uninstalled. Single or multiple (batch) uninstall possible.
★ App to SD: Move apps to your SD card. Single or multiple (batch) move possible. Only for Android 2.2 and 2.3.
★Cache Cleaner:With Cache Cleaner you can clean your cache of phone.protect your secret without a trace.
I hope you can use for keep your running applications with that app...
sorry for my english...
davidequiz said:
★ Task killer: Kill all apps at once, define protected apps which won’t be killed, set auto kill when screen gets locked, mark single or multiple apps to kill
Click to expand...
Click to collapse
This will not help since the task killer which kills the background apps in inside the android system not an external one.
We must find a way to control the internal one then...
nheacock said:
I've spent a few hours trying to find how to make certain Droid apps maintain their foreground state when put in the background with no luck. Perhaps it just can't be done.
I'm thinking of the Cydia iPhone app called Backgrounder which lets you choose which apps maintain foreground state when put into the background.
This is necessary, for example, with a note application where you are switching between taking notes and looking up info. Every time you switch back to the note app, you need to go back into your note, put it in edit mode and navigate to the section of the note you were editing. If it were acting like a foreground app in the background, when switching back to it it would already have your note open and be in edit mode with the cursor where you left off.
K9 mail has a similar problem where if you have an email open, switch to another application, when you go back to K9 it takes you to your inbox again where you have to navigate to the email you had open before switching.
Is there a tool similar to Backgrounder for Android?
Thanks.
Click to expand...
Click to collapse
Guys, I'm so much looking for a solution of this same thing. The closest I came to is Ram manager. Has a xda threat and can be found in the play store. But it also can't manage to lock an app and prevent its killing (although it helps a lot). I need my navigation always running and it is silently killed or stopped while I'm looking at my mail or have a phone call. This is ridiculous. Have you found a solution. Some way to protect an app from killing and lock it in the foreground. I mean how are they able to do it for the apps which are in the system tray!? Like antivirus apps and tons of other. I can't believe xda experts don't know how...
I would think that Antivirus apps run a service.
In Mioze's CM6 there are build prop edits that might work, but I never tried them.
Code:
# apps to be kept in memory (specified by process name)
# use with caution, RAM is limited!
sys.keep_app_1=
sys.keep_app_2=
I am not an expert and can't tell the difference between service and an app running. What you're saying makes sense, but I need clear instructions somewhere to make an app protected from killing. Thanks for helping.
Sent from my HTC One X using xda premium
Wrong forms this milestone xt720.
Sent from my SGH-T759 using xda premium
I pretty much fixed android multitasking - even on ense 4.0 and 4.1
http://forum.xda-developers.com/showthread.php?t=1900626
Testers welcome.
And for locking an app in a foreground state, my SuperCharger can do that via BulletProof Apps menu.
zeppelinrox said:
I pretty much fixed android multitasking - even on ense 4.0 and 4.1
http://forum.xda-developers.com/showthread.php?t=1900626
wI
Testers welcome.
And for locking an app in a foreground state, my SuperCharger can do that via BulletProof Apps menu.
Click to expand...
Click to collapse
I tested that and almost became an expert. I'm not so sure if it is completely solved, although I have to admit that you have done a great and recognized job.
Just tell me can the script for bulletproof apps work alone, without the supercharger script. Many ROMs have their own memory settings and one is afraid to cover them with supercharger script settings.
But if bulletproof script can run and do the job on itsown then the problem is really fixed.
Yeah its separate.
Alot of devs say dont supercharge because they dont want to be showed up and scare their users lol
But hundreds of roms come supercharged anyway.
zeppelinrox said:
Yeah its separate.
Alot of devs say dont supercharge because they dont want to be showed up and scare their users lol
But hundreds of roms come supercharged anyway.
Click to expand...
Click to collapse
Thanks for answering!
So I'm going to try running only the bulletproof script without the supercharger script and set an app to be UNbillable.
Should I set it to run on startup!? I'm using custom ROM. The last revolution HD.
The init.d script would run automatically.
So you dont need to configure anything.
Whatever app is in the hitlist will get bulletptoofed soon after running the app.
zeppelinrox said:
The init.d script would run automatically.
So you dont need to configure anything.
Whatever app is in the hitlist will get bulletptoofed soon after running the app.
Click to expand...
Click to collapse
I am trying to get this configured. But I only want to run the bulletproof script, not the 99SuperCharger script. I just want to keep my rom's memory settings, cause I am OK with them.
But both of the scripts (99SuperCharger and bulletproof) are going to reside in the init.d folder of my custom rom. So they will both be started, aren't they?
How can I make only bulletproof script run at boot. Should I just delete 99SuperCharger from init.d?
I'm using Autokiller to keep my phone a bit snappier since I have a low amount of memory. However, at times it kills processes that should stay open (namely: the phone and messages apps, which I have to open several times in a row because it closes them right after I open them). I have found that setting the oom value of these processes low (-17, foreground, ignored) in Autokiller helps, but the problem is that these values always keep reverting back to original after some time. Is there a way to permanently set lower oom values for processes either using Autokiller or some other way?
have you found a fix?
I'm wondering the same thing. Have you figured out a way to do it? Autokiller keeps killing Dr web on me.
neverlost7 said:
I'm using Autokiller to keep my phone a bit snappier since I have a low amount of memory. However, at times it kills processes that should stay open (namely: the phone and messages apps, which I have to open several times in a row because it closes them right after I open them). I have found that setting the oom value of these processes low (-17, foreground, ignored) in Autokiller helps, but the problem is that these values always keep reverting back to original after some time. Is there a way to permanently set lower oom values for processes either using Autokiller or some other way?
Click to expand...
Click to collapse
As long as your device is rooted you can use Auto Memory Manager from the market.
Its a free app and can set OOM values and priority for programs
But a weird of warning, never set a large program like HTC Sense or whatever to -17 unless you have lots of RAM.
Sent from my HTC HD2 using xda premium
Supercharger is the way to go if you ask me. Memory manager apps I've seen seem to act more like task killers, does more harm than good. Supercharger allows you to change the oom settings, and the priority settings that certain apps get. I think it requires root, but then again ANY app that is going to actually do what you want is going to require root. I would give it a try, every single person I have recommended it to has thanked me after.
Silentbtdeadly said:
Supercharger is the way to go if you ask me. Memory manager apps I've seen seem to act more like task killers, does more harm than good. Supercharger allows you to change the oom settings, and the priority settings that certain apps get. I think it requires root, but then again ANY app that is going to actually do what you want is going to require root. I would give it a try, every single person I have recommended it to has thanked me after.
Click to expand...
Click to collapse
I have used this too, but it isn't very n00b friendly, it works extremely well however but I would like to add, you shouldn't use the highest settings in supercharger unless you have a high end phone, the OOMs on the top settings are ridiculously high...
Tigermoto said:
I have used this too, but it isn't very n00b friendly, it works extremely well however but I would like to add, you shouldn't use the highest settings in supercharger unless you have a high end phone, the OOMs on the top settings are ridiculously high...
Click to expand...
Click to collapse
Yea, my amaze has over 800mb of ram, and the highest setting ate that up real quick.. but the lower values were pretty good for my old vibrant which only had 343mb of ram.
I thought the instructions weren't too complicated, thought the length of the post should scare off anyone who isn't too sure of themselves.. the main thing someone could do wrong is set it as run at boot in script manager. As long as they just follow the prompts once they run the script, they should be able to experiment without risking any damage to their phone.
If anyone has any problems, that thread has most of the answers in it, the people are willing to give advice, and worst case scenario I could try to help if anyone has any issues. If you are capable of rooting your phone(outside one click root solutions), you are more than likely safe following the instructions in that thread.
I use system tuner pro for my Xperia arc s, check it out in Google play
How Android manages Memory
Android groups all apps into 6 groups, from highest priority to lowest:
Foreground app - you see this app on screen, currently running, but also includes the system itself and "phone"
Visible app - the app is running and visible, but due to multi-tasking or such is not currently "on top"
Secondary server - 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.
Hidden Application - apps not visible, but still running in the background
Content Provider - process that provides content to the foreground, such as "contacts content provider", "calendar content provider", and so on. May also known as "storage".
Empty App - 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!
BUMP
Thanks for the guide, trying this out to see if I notice some improvement in my phone.
how do you get the values to stick? I duplicated what you did and backed out and the original presets came back after a reboot. I did not see a "save" option. thanks.
steve austin said:
how do you get the values to stick? I duplicated what you did and backed out and the original presets came back after a reboot. I did not see a "save" option. thanks.
Click to expand...
Click to collapse
After applying the limits, there's a button at the bottom of the page called boot settings.
On the menu this takes you to, click reapply memory settings and then check on boot completed
Sent from my HTC Sensation using XDA
sorry for the noob question, but are u sure its not the other way around? i mean, setting a higher value would mean the app is going to stay running in the background for a longer time?
alireza_simkesh said:
sorry for the noob question, but are u sure its not the other way around? i mean, setting a higher value would mean the app is going to stay running in the background for a longer time?
Click to expand...
Click to collapse
I had this EXACT same initial thought. However, once I stepped back and looked at it again, I realized that he is correct in what he originally posted.
What the high values in his screenshot are basically saying is "When I get to less than 256mb free memory, I am going to dump all the applications of this type" and the low values are basically saying "When I get to only 3mb of free memory then I am going to dump all the applications of this type."
So if you set it HIGH like the original poster said then it will dump those out of memory faster than if you set them to 100mb because then you'd have to have more things filling up memory before they would be dumped.
Hopefully that clears things up a little for you (and others who I'm sure will have the exact same question).
-- Zeustopher
Zeustopher said:
I had this EXACT same initial thought. However, once I stepped back and looked at it again, I realized that he is correct in what he originally posted.
What the high values in his screenshot are basically saying is "When I get to less than 256mb free memory, I am going to dump all the applications of this type" and the low values are basically saying "When I get to only 3mb of free memory then I am going to dump all the applications of this type."
So if you set it HIGH like the original poster said then it will dump those out of memory faster than if you set them to 100mb because then you'd have to have more things filling up memory before they would be dumped.
Hopefully that clears things up a little for you (and others who I'm sure will have the exact same question).
-- Zeustopher
Click to expand...
Click to collapse
Yes that's exactly right, sorry I should have probably explained that a bit better initially.
Zeustopher said:
I had this EXACT same initial thought. However, once I stepped back and looked at it again, I realized that he is correct in what he originally posted.
What the high values in his screenshot are basically saying is "When I get to less than 256mb free memory, I am going to dump all the applications of this type" and the low values are basically saying "When I get to only 3mb of free memory then I am going to dump all the applications of this type."
So if you set it HIGH like the original poster said then it will dump those out of memory faster than if you set them to 100mb because then you'd have to have more things filling up memory before they would be dumped.
Hopefully that clears things up a little for you (and others who I'm sure will have the exact same question).
-- Zeustopher
Click to expand...
Click to collapse
Yea i get it now.
the program developer must make the interface a bit more clear
thanks. I will apply it today and see what happens.
Notification improvement in smoothness in UI.
But setting too high minfree in empty application cause alot of launcher redraw.
cwk_and said:
Notification improvement in smoothness in UI.
But setting too high minfree in empty application cause alot of launcher redraw.
Click to expand...
Click to collapse
That's odd, the launcher usually sits in visible or secondary server... what launcher are u using?
Sent from my Sensation using XDA
I am using Auto Memory Manager for this, thanks for the write up.
mf2112 said:
I am using Auto Memory Manager for this, thanks for the write up.
Click to expand...
Click to collapse
No worries
Didn't know that app existed, will add it to the guide thanks!
I applied your settings to see what happens.....I hqve a question for you. In cm9 and aokp there is setting for Max background process limit.....would you suggest any modification here as well?
dmeinder said:
I applied your settings to see what happens.....I hqve a question for you. In cm9 and aokp there is setting for Max background process limit.....would you suggest any modification here as well?
Click to expand...
Click to collapse
You could give it a shot and see if it helps but I doubt it will. If anything, it will limit multitasking because apps will get closed before OOM values are reached.
Hope that helped
Sent from my Sensation using XDA
this is nice trick but it realy save battery and perfom cpu.
As far as I have heard oom values are not these memory settings you mention. OOM is a specific value for each app. The lower it is, the less prone the system is to kill it off.
I have System Tuner pro but couldn't find how to change the oom value. Only app that could change it is autokiller and those settings don't stick or even work.
My memory settings are killing off some apps that I would like to keep in memory.
making empty app so high means no multitasking at all it will kill almost every app once you exit it, tried these and as sson as i leave browser it closes itself, for multitaskers use 45 for hidden, 70 for content provider, 85 for empty app, do not set it lower than 85 or you may encounter a lag that you can't get rid without taking the battery off because you won't be able to close an appliation with that lag. By the way other three values are not that important set them 7-15-20 no problem at all.
Tom200 said:
As far as I have heard oom values are not these memory settings you mention. OOM is a specific value for each app. The lower it is, the less prone the system is to kill it off.
I have System Tuner pro but couldn't find how to change the oom value. Only app that could change it is autokiller and those settings don't stick or even work.
My memory settings are killing off some apps that I would like to keep in memory.
Click to expand...
Click to collapse
I don't know what ur on about, the tweaks in system tuner pro are for OOM values.
You need to do some more research mate.
Sent from my Sensation using XDA
Hi!
I have tried various task managers from play store. They all show either nothing or just few app. Mostly they dont even display stuff that is running such as Firefox.
Sofar the only task manager that works for me is:
Code:
su -
top
But the problem is that it my phone has so many processes working that they dont all fit in one screen, and since top command is constantly updating, it scrolls back down. So I have to Ctrl - C to interrupt and then write kill -9 pid which is a bit annoying.
Is there any simple task manager out there that is graphical version of top command and that shows me absolutely everything, not only stuff that is currently active? To me it's important to see cpu usage next to pid.
sysctl said:
Hi!
I have tried various task managers from play store. They all show either nothing or just few app. Mostly they dont even display stuff that is running such as Firefox.
Sofar the only task manager that works for me is:
Code:
su -
top
But the problem is that it my phone has so many processes working that they dont all fit in one screen, and since top command is constantly updating, it scrolls back down. So I have to Ctrl - C to interrupt and then write kill -9 pid which is a bit annoying.
Is there any simple task manager out there that is graphical version of top command and that shows me absolutely everything, not only stuff that is currently active? To me it's important to see cpu usage next to pid.
Click to expand...
Click to collapse
No, task managers are crap, the native task killer that android has built in works fine. 3rd party task killers actually make the device work harder because they constantly reload the tasks that you kill.
Best option is root your device then uninstall unnecessary system apps, and use Greenify to freeze your other apps when they aren't in use.
All task managers, RAM savers, optimizers and battery savers are all junk, they actually do the opposite of what you think they do.
I DO NOT PROVIDE HELP IN PM, KEEP IT IN THE THREADS WHERE EVERYONE CAN SHARE
Dunno how with Android, but actually the 'top' command can be configurated to di what you want. Just read the top man page.
Sent from this galaxy
Clean Master is a good one. I got it mainly for it's ability to clear junk files, but the ram boosting ability is handy as well every now and then. It also has a mode that let's you launch games in "boosted" mode, which I think is just a clearing a ram when launching the game. Not sure if it maintains that or just just does a task kill at launch. Killed apps can often just restart soon after. Incidentally, I do that a lot for Iron Man 3.
ABSarah said:
Clean Master is a good one. I got it mainly for it's ability to clear junk files, but the ram boosting ability is handy as well every now and then. It also has a mode that let's you launch games in "boosted" mode, which I think is just a clearing a ram when launching the game. Not sure if it maintains that or just just does a task kill at launch. Killed apps can often just restart soon after. Incidentally, I do that a lot for Iron Man 3.
Click to expand...
Click to collapse
No, Cleanmaster is not a good one, none of the task killer/RAM optimizer apps are "good" they are actually counterproductive and make your device work harder in the long run.
Sent from my LGL84VL using Tapatalk
Instead of using a task manager that will probably not work, try Kernel Adiutor and try setting the Low Memory Killer to your wishes, following this guide.
Hello people! I've made this thread because I've been noticing apps getting hibernates/closed more aggressively in the background than usual. I know, MIUI has issues with being a little more aggressive than others but this isn't usual as I've had the phone for 2 years now and never experienced something like this. I've decided to open MT Manager to see if the file is even there (some posts showed how to edit the file so I thought why not try) and shocker, it's gone!? Now I'm unsure how a system file got permanently deleted for good but it seems very concerning. I'm gonna try downloading a rom for my version and see if I can doctor the file out of it but if not then welp. PLEASE reply with any answer/advice you have, helpful or not I appreciate anything right now! Multitasking is so impossible currently but that's what I need my phone for...
(No, I unfortunately don't have a backup...)
You can configure Android's Low Memory Killer via system file build.prop:
Low Memory Killer Daemon | Android Open Source Project
source.android.com
Changes in there don't stay permanent but I'll check it out also, isn't there supposed to be a /sys/module/lowmemorykiller/ folder?
xXx yYy said:
You can configure Android's Low Memory Killer via system file build.prop:
Low Memory Killer Daemon | Android Open Source Project
source.android.com
Click to expand...
Click to collapse
Never occupied with this, because I think Android is smart enough to manage RAM usage.
BTW:
You force settings to stay permanent if you simply add persist. to front of it, e.g.
persist.ro.lmk.low=1001
persist.ro.lmk.medium=800
persist.ro.lmk.critical=0
Thanks! And I'm only messing with it because it never hibernated apps THIS aggressively, I need to multitask.