Related
So I was using IE to look at the latest threads on xda-dev site and a weird error message pops up on the screen saying that memory was critically low and tha I had to close one of the open apps. I only had IE open at the time. The message listed the name of the running apps next to a radio button. I had to select an app to close by clicking on the corresponding radio button. The weird thing is, the list looked like this (* stands for radio button):
* Internet Explorer
* Phone
* Phone
* Phone
* Phone
* Phone
I selected the radio button next to the first instance of "Phone" and the error message went way and I was able to continue browsing in the IE session I was in. The strange thing is that it had several instances of "phone" in there. I had made several calls before this happened.. It looks like the software is opening a new instance of the phone app every time the phone is used, until the device runs out of memory. This may be the reason for the mysterious disappearance of memory on the wing. Anyone else experience this or something like it? Any expert opinions as to what this is about? Are there any apps out there that would allow me to see all running processes on my device, something like Windows Task Manager? The one that is included only shows user processes, not system or hidden ones.
Thanks for any info!
Have it too
I have the same experience with my P4350 and WM5 I didn't find any solution but honestly I didn't look for it yet.
Yup I've had the same thing happen. The Phone'S don't show up in the task manager and they only show up when you run out of memory! Phone doesn't take up that much memory but I can see it having a mild affect.
I hear about people using different taskiller apps and now I have been reading that these apps are the cause of some problems and that the phone "knows" when to close apps if it needs the memory.
So what is the verdict??? Are Taskiller apps evil or necessary or do they have any value at all???
I use Taskiller. It's a great app but I have to admit, I wonder about its effectiveness. I tend to 'close all apps' if there are a lot running but I've found that this often causes more problems than it solves. As an example, I use the footprints widget on one of my screens. If I close the footprint app using Taskiller, sometimes it causes the whole touchflo process to terminate unexpectedly. I've also found problems closing processes with Taskiller which are related to the social networking/mapping features. If you know what processes to put in the 'ignore' list then fine, but closing some processes can hinder the phone's overall function.
Sometimes, however, if you want to close an app, there's no way other than to use a task killer. Take Peep for instance. No way to close it other than killing it. So yeh, task killers; generally unnecessary but sometimes handy.
Most applications do not properly handle shutting themselves down on Android. Android itself does not close many applications automatically, so a task manager is needed. How ever the automatic task managers have a tendency to kill system services as well and can cause a lot of problems on the phone.
s0v3r1gn said:
Android itself does not close many applications automatically, so a task manager is needed.
Click to expand...
Click to collapse
I guess that is ultimately the question....is it really needed???
I used taskiller in the beginning but after I stopped using it I think my phone is generally more responsive and better. Why? Because it doesn't have to start apps everytime I change screen or whatever. However I do have taskiller to kill apps that crashes or similar just in case. I do not use it frequently though. Instead I let the phone handle killing apps and whatnot.
So in my opinion taskiller is not needed because the phone takes care of everything that's needed mostly.
advanced task killer screwed up my text messages so i havent bothered with one since. luckily the device is just as as quick and responsive without it. so my vote is 'a' and 'c'
My favorite has been Advanced Task Killer Free. It doesnt cost anything and doesnt get rid of any vital processes that Android needs, especially if youre using SenseUI. Also, I have seen noticeable performance increases afterwards. So yes, I would say it is needed.
I've been using advanced task killer with problems. It seems to do what it suppose to but it also closes the radio for some reason. The rx signal comes back but the evdo doesn't unless I do a reset... I even payed for the advanced task killer thinking it would have more options but only has a hourly function.
Linux has it's own scheduler which handles tasks very efficiently.
no its not needed. i use to use advance task manager and it totally screwed and lagged my phone. not to mention i wasnt getting my sms because of those apps...i stopped using it and my phone functions great. if i feel that the phone is bunddled up with alot of apps i previously opened, i simply reset it (i hardly do resets because the phone functions excellently).
so no to task killers.
I had Taskiller installed, but after initially using it, I found that I wasn't bothered to use it, but it was still there with the icon at the top of the screen.
I read that they can actually slow your system down, so as I wasn't using it, I uninstalled it and maybe it isn't but the system does seem a little more responsive now
Vince
i used advanced taskiller and it kept my phone awake even when locked/lcd off. that murdered my battery. i uninstalled and use task manager now with no issues. it is not as simple as dragging down the notifications bar but my battery life is fine now.
I've definitely found that there is pretty much zero benefit to regularly using a task killer. Other peoples mileage will vary of course, and I'm sure there will be combinations of applications that don't sit too well together and cause issues, but I'm pretty confident than Android handles resource management well enough for most users.
I do wonder how may of those who swear by task killers are also using swapper, as I can well imagine that swapper will cause problems with Androids own resource management.
Regards,
Dave
HAHAHA guess you're not getting a clear cut verdict on task killers from this thread! seems like everyone has their own opinion....
There was an earlier debate on this topic. The thread is here... http://forum.xda-developers.com/showthread.php?t=569709&highlight=task+killer
and the android info is here (must read for understanding task killing) http://forum.xda-developers.com/showthread.php?t=569709&highlight=task+killer
They work well when set up properly. No reason to be closing widgets and programs on your sense ui that you use on a fairly often basis because it will take some time for them to load when you want to view them.
Leave the stuff you use regularly open and close the junk that takes up resources that you don't regularly use. Most of these programs have exception lists for a reason.
People that automatically end all and close sense, or their system dialer files will obviously run into problems and lag when all that stuff restarts at the same time.
Aridon said:
...Most of these programs have exception lists for a reason.
Click to expand...
Click to collapse
Exactly. They are fine if you exclude ALL the necessary components, then just have a few remaining on the main page that you know can be quit. Advanced Task Killer has been fine for me with their 'ignore list'.
i found that since ive stopped using task killer m battery life has improved quite alot
now i leave all the work to the android system
I have had the hero from day one and have had taskiller installed for about as long. I DID use it but do not now... and have no slow downs...
how?.......
custom rom....?
service which frees memory?
no...
Simply press back to exit a program and not home... if you press home the program most likley will not catch the button press and close. click back to exit and the program closes properly.
Press Back ....... this ISNT an iPhone with only 1 button.
nuff said...
I'm going without on this hard reset. On the last go around, even with disabling native sms app and using a 3rd party I was still getting the 100% awake time issue on the sprint hero.
FWIW, On a sprint hero make sure you ignore htiqagent, iqrd and omadm. Killing these will cause a radio reset, and ignore htcsense if you are using sense, which btw you can disable by removing its default setting in settings-apps-manage apps.
I think it is safe to say that I'm pretty ignorant about Android/Linux/etc. Nevertheless, I have Advanced Task Manager and I like to use it. I do use it judiciously, only ending certain programs/apps yet leaving most of that business to Android. And, of course, I use it to end the program itself.
El Mono
I was messing trying to figure out which is the correct method to close apps, back and home do the same thing, holding HOME (i just found out) brings up a list of recently used apps, but i can't figure a way to properly close them. I have Advanced Task Manager to close them now and again but I don't want to keep it running all the time.
Is there any proper way if the app doesn't provide an exit function?
Because an app is on that list does not mean it is not closed. That list is just the history of the last 6 apps you used.
A lot of people say that you do not need to worry about whether or not an app is fully closed because the software manages that to ensure that it has enough free memory. I don't know enough to know whether that is correct or not.
peterc10 said:
Because an app is on that list does not mean it is not closed. That list is just the history of the last 6 apps you used.
A lot of people say that you do not need to worry about whether or not an app is fully closed because the software manages that to ensure that it has enough free memory. I don't know enough to know whether that is correct or not.
Click to expand...
Click to collapse
Yes, sorry, the apps I'm referring to are shown by the Advanced Task Manager, I merely found the Recent list when trying to find a way to exit apps.
I sometimes have 15-20 apps in there filling up my RAM even on startup things like Shop Savy will be there twice and Photoshop.com.
They, amongst others don't seem to provide options to prevent them starting at boot so I simply uninstalled them, but all the running apps do severely affect the performance when it's filling up.
I have been experiencing the same problem.
Advanced Task Manager lists a whole load of apps that start on bootup and each one of those doesn't have an option to disable this.
After a while (about 3 hrs or so) of using my Hero I am down to about 40mb of RAM which if I don't use Advanced Task Manager to kill unused apps my Hero begins to lag big time.
On the Android it is better to leave them resident in memory than stop them, unless they are 'background' processes and there is something wrong with them (a bug) making them slow down your phone.
Don't judge your Android on amount of free memory left; if anything, the the less memory left over the better as it means the memory is being used effectively to make it nice and speedy.
Processes aren't allowed to consume CPU cycles/consume battery/slow your phone down when they are not focused; the exception is background processes which need to keep going, like the music player etc. What's more, if an app is not focused then its state is preserved allowing your phone to free up its memory when needed; its memory effectively becomes 'cache' allowing it to restart quicker if it happens to have stayed in memory.
So don't worry about wiping an app from memory; for many apps there is simply no distinction between closing it and switching away from it; as soon as you switch away from it it's as good as closed; it's not slowing your phone down or taking up any memory that couldn't be freed instantly if needed, but if it is lucky enough to stay in memory it will re-open quicker.
On my experience, if you press the back button to exit an app, then the app is closed properly, running the code in the app that will release the memory and objects. This is the best way.
The only app it will not work on is the browser as the back button will send you back through the history.
Try it...
MercuryStar said:
On the Android it is better to leave them resident in memory than stop them, unless they are 'background' processes and there is something wrong with them (a bug) making them slow down your phone.
Don't judge your Android on amount of free memory left; if anything, the the less memory left over the better as it means the memory is being used effectively to make it nice and speedy.
Processes aren't allowed to consume CPU cycles/consume battery/slow your phone down when they are not focused; the exception is background processes which need to keep going, like the music player etc. What's more, if an app is not focused then its state is preserved allowing your phone to free up its memory when needed; its memory effectively becomes 'cache' allowing it to restart quicker if it happens to have stayed in memory.
So don't worry about wiping an app from memory; for many apps there is simply no distinction between closing it and switching away from it; as soon as you switch away from it it's as good as closed; it's not slowing your phone down or taking up any memory that couldn't be freed instantly if needed, but if it is lucky enough to stay in memory it will re-open quicker.
Click to expand...
Click to collapse
I understand how and why this should be true, but for me it doesn't seem to be, if my memory falls to less than 40 the phone becomes increadibly unresponsive, I get crashes and have to wait forever for it to do things like open the phone. Immediately after killing all with advanced task manager it goes back to normal.
barryallott said:
On my experience, if you press the back button to exit an app, then the app is closed properly, running the code in the app that will release the memory and objects. This is the best way.
The only app it will not work on is the browser as the back button will send you back through the history.
Try it...
Click to expand...
Click to collapse
I have tried both methods, more often than not though, back doesn't seem to do much either, I have experimented with free RAM and using back or Home, it seems the Home certainly isn't the correct way to do it, but back doesn't work very often either, maybe people aren't coding their apps properly to respond to the back button as an exit method?
this is the never ending discussion whether task manager make sense for android or not.
i'm one of those who say: definetly YES! USE TASKMANGER.
I understand that Android works in a way that taskmanager shouldnt be needed because it handles the tasks on its own, but sadly the concept just doesn't seem to work.
When my ram fills up i can cleary see that the device is getting slower, even just opening apps takes more than 5 seconds. After closing some apps the hero is fast again.
now i don't care whether ANDROID is the reason or some POORLY programmed background apps, because the outcome for me as a user is the same. I#m using advanced task manager and im very happy with it, whenever Android starts to slow down i close the open and unneeded apps, and everything is fast again...don't know how people can claim that Android does handle task management perfectly on its own.
Shahpur.Azizpour said:
this is the never ending discussion whether task manager make sense for android or not.
i'm one of those who say: definetly YES! USE TASKMANGER.
I understand that Android works in a way that taskmanager shouldnt be needed because it handles the tasks on its own, but sadly the concept just doesn't seem to work.
When my ram fills up i can cleary see that the device is getting slower, even just opening apps takes more than 5 seconds. After closing some apps the hero is fast again.
now i don't care whether ANDROID is the reason or some POORLY programmed background apps, because the outcome for me as a user is the same. I#m using advanced task manager and im very happy with it, whenever Android starts to slow down i close the open and unneeded apps, and everything is fast again...don't know how people can claim that Android does handle task management perfectly on its own.
Click to expand...
Click to collapse
The point is, Task manager of any kind is another 3rd party app taking up more memory, and quite frankly on such a high end phone i shouldn't have to worry about this problem. I noticed another thread about changing the values at which the internal task manager kills apps etc, if it becomes more of a problem i'll look into this method of fixing it.
alias_neo said:
The point is, Task manager of any kind is another 3rd party app taking up more memory, and quite frankly on such a high end phone i shouldn't have to worry about this problem. I noticed another thread about changing the values at which the internal task manager kills apps etc, if it becomes more of a problem i'll look into this method of fixing it.
Click to expand...
Click to collapse
yes, in theory we shouldn't worry about tasks in the background, but in reality as you said, the device WILL slow down. so there is no other way around than closing apps manually and defining apps to be kept alive by the 3rd party task manager.
changing values for the internal task manager sounds like something which would only work on a rooted device, but im not sure...
I downloaded Advanced Task Killer Free, and things like Sprint Navigation, Facebook, Voice Dialer, etc, the list gets 20 programs long after about 15 minutes... this makes no sense.
Can someone who has used Android longer please explain this to me? It seems that this OS needs much more babysitting than even WM, if it's really auto-starting all this crap for no reason.
It seems like all of the applications you described are system apps that were on the phone when you got them. They may be set to automatically run. I know you wont be able to remove any of them without the phone being rooted and having su access - but i may be wrong.
When you close them, it seems like the OS is just automatically reloading them.
Careful when you kill apps, it could cause some unwanted issues.
So many of these programs have nothing to do with day-to-day operation... this is bizarre.
Does Android supposedly have built-in memory-management? IE, you exit the camera app, it eventually FORCE closes it? So far, I haven't noticed that behavior at all. That's what caused so many issues on my old WM HTC devices.
Android does have built-in memory management. It is how the OS was developed.
If you have a program running on your screen, it will use whatever amount of memory it needs in order to run it.
If the program gets pushed into the background, but is still running, it will still use the memory, even though another program is being ran using up even more memory.
Having free memory will not make the phone run any faster. Eventually the program in the background will close if not used. It will also be force closed if the system is in dire need of memory.
Android knows when it is need of memory.
There are several threads already which explain memory use if you search. Since I'm using my phone I won't go into detail but I will say that task killers are not recommended. It's much better to let Android manage the memory and processes.
My personal experience bears this out as I had a lot of strange issues like losing wireless connectivity when I was using a task killer. Now I let Android handle things and my phone runs smooth. Using a Sprint Hero with Fresh 2.1.2 ROM.
-------------------------------------
Sent via the XDA Tapatalk App
Interesting... all my friends who use Android have task managers... Most engadget posts mention that too. Hrm... I guess I'll make sure auto-kill is disabled and just watch and see how the OS holds up.
I just got the phone this morning and was killing apps left and right. I started to get a lot of Force Close errors.
I rebooted the phone which would clear the memory anyways and I'm letting the OS handle everything now - Havent had any problems since.
good luck!
ScrapMaker said:
Interesting... all my friends who use Android have task managers... Most engadget posts mention that too. Hrm... I guess I'll make sure auto-kill is disabled and just watch and see how the OS holds up.
Click to expand...
Click to collapse
Honestly, if you are worried about a particular program running away and have reason to believe it, sure a task manager/task killer can be handy for that one program but historically, giving people task managers on Android causes more problems than it helps. Voice Dialer is your phone app for example and at the CDMA Hero forums, we've seen the phone do some crazy things when we removed it from the phone right after we got root (turns out that thing is hooked to more than just the "making phone calls" feature).
All that said, it's quite informative to google around about android's method of memory management. It's kinda cool!
I had a hero, and it least made it through the day. The Evo is way worse. I have no idea why some things run in the background that I've never used and have no reason to be running in the background. I'm using ATK and Auto Task Manager, which kills app once your phone goes to sleep. You just have to know what apps you shouldn't be killing. As a rule of thumb, I didn't kill any native google or HTC services. I did kill all Sprint services. Following this guide as well:http://www.mobilecrunch.com/2010/06...attery-life-and-what-this-says-about-android/
here is why you don't really need a task killer.
with that, i can say that i do have one but, i don't have any autokill going. i only use it as a last resort to kill things if i have like multiple things producing sound at once.
Honestly I can tell you from experience, that sprint bloat wear will launch on its own all day long. Even if you set ATK or AMM to nuke it, it eventually will cost more batt. in the long run because of the system resources required to launch and kill over and over again. The only way to successfully deal with the issue is to rm the crap, which requires root.
I noticed certain background processes like 'Email' and 'Gallery' kept coming back.
Even after I killed them with 'Advanced Task Killer', they kept popping back up and I want to know how to stop them? I don't want them to run automatically unless I need them.
Why is 'Gallery' kept popping up? I haven't checked any pictures lately.
Good question bro. This should be put to Google's Android forum.
Sent from my GT-I9100 using XDA Premium App
MrRoberts69 said:
I noticed certain background processes like 'Email' and 'Gallery' kept coming back.
Even after I killed them with 'Advanced Task Killer', they kept popping back up and I want to know how to stop them? I don't want them to run automatically unless I need them.
Why is 'Gallery' kept popping up? I haven't checked any pictures lately.
Click to expand...
Click to collapse
Out of interest, why are you bothered about it?
MrRoberts69 said:
I noticed certain background processes like 'Email' and 'Gallery' kept coming back.
Even after I killed them with 'Advanced Task Killer', they kept popping back up and I want to know how to stop them? I don't want them to run automatically unless I need them.
Why is 'Gallery' kept popping up? I haven't checked any pictures lately.
Click to expand...
Click to collapse
Please spend some time to read up on how linux works, specifically how memory is used, and then you will understand how Android works and why these applications keep "coming back".
I cringe everytime I read people talking about taskkiller applications.
kitch9 said:
Out of interest, why are you bothered about it?
Click to expand...
Click to collapse
I like to know how things tick and there is a REASON why the 'Gallery' kept popping back up.
MrRoberts69 said:
I like to know how things tick and there is a REASON why the 'Gallery' kept popping back up.
Click to expand...
Click to collapse
Because this is how android OS works. It loads processes for faster use when needed. There is nothing you can do to stop it, its based on android and its process management method, etc. These apps should be frozen in an idle state using zero resources. Use system panel to confirm gallery is not using any CPU.
They should make the system clever by having it learn what each person uses/doesn't use and only load the processes accordingly . I just find it irritating that it loads stuff that I am never going to use... I don't care that it doesn't use resouces, I just find untidy
I agree, i dont like things to start without me using them first neither! This is just stupid. Also some things should never been shown to users in my opinion. If something is in the kernel and not for me to mess with it should be hidden.
ps. as a user i dont want to spend reading tons of pages on how the OS works in detail, it should be easy to use and dont make the user confused. this is one aspect i hope Android improves in the future.
vampyren said:
I agree, i dont like things to start without me using them first neither! This is just stupid. Also some things should never been shown to users in my opinion. If something is in the kernel and not for me to mess with it should be hidden.
ps. as a user i dont want to spend reading tons of pages on how the OS works in detail, it should be easy to use and dont make the user confused. this is one aspect i hope Android improves in the future.
Click to expand...
Click to collapse
Buy an iphone
Sent from my GT-I9100 using XDA App
First of all starting some processes also start others in anticipation of their use. What is happening is that apps you are using are calling for those to start for quicker launch and there are dependencies that are not immediately obvious that will sometimes start a seemingly unrelated process. Memory management on android is very good and typically with task killers you often work against the built in memory management. I'm going to do a cut an paste here with a few basics....
By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications.
A content provider is active only while it's responding to a request from a ContentResolver. And a broadcast receiver is active only while it's responding to a broadcast message. So there's no need to explicitly shut down these components.
Activities, on the other hand, provide the user interface. They're in a long-running conversation with the user and may remain active, even when idle, as long as the conversation continues. Similarly, services may also remain running for a long time. So Android has methods to shut down activities and services in an orderly way:
An activity can be shut down by calling its finish() method. One activity can shut down another activity (one it started with startActivityForResult()) by calling finishActivity().
A service can be stopped by calling its stopSelf() method, or by calling Context.stopService().
Components might also be shut down by the system when they are no longer being used or when Android must reclaim memory for more active components.
If the user leaves a task for a long time, the system clears the task of all activities except the root activity. When the user returns to the task again, it's as the user left it, except that only the initial activity is present. The idea is that, after a time, users will likely have abandoned what they were doing before and are returning to the task to begin something new.
An activity has essentially three states:
It is active or running when it is in the foreground of the screen (at the top of the activity stack for the current task). This is the activity that is the focus for the user's actions.
It is paused if it has lost focus but is still visible to the user. That is, another activity lies on top of it and that activity either is transparent or doesn't cover the full screen, so some of the paused activity can show through. A paused activity is completely alive (it maintains all state and member information and remains attached to the window manager), but can be killed by the system in extreme low memory situations.
It is stopped if it is completely obscured by another activity. It still retains all state and member information. However, it is no longer visible to the user so its window is hidden and it will often be killed by the system when memory is needed elsewhere.
If an activity is paused or stopped, the system can drop it from memory either by asking it to finish (calling its finish() method), or simply killing its process. When it is displayed again to the user, it must be completely restarted and restored to its previous state.
The foreground lifetime of an activity happens between a call to onResume() until a corresponding call to onPause(). During this time, the activity is in front of all other activities on screen and is interacting with the user. An activity can frequently transition between the resumed and paused states - for example, onPause() is called when the device goes to sleep or when a new activity is started, onResume() is called when an activity result or a new intent is delivered. Therefore, the code in these two methods should be fairly lightweight.
A few conclusions.....
Android is hard coded to automatically kill a task when more memory is needed.
Android is hard coded to automatically kill a task when it's done doing what it needs to do.
Android is hard coded to automatically kill a task when you haven't returned to it in a long time.
Most services (while possibly running in the background) use very little memory when not actively doing something.
A content provider is only doing something when there is a notification for it to give. Otherwise it uses very little memory.
Killing a process when it isn't ready only causes it to have to reload itself and start from scratch when it's needed again.
Because a task is likely running in the background for a reason, killing it will only cause it to re-spawn as soon as the activity that was using it looks for it again. And it will just have to start over again.
Killing certain processes can have undesirable side effects. Not receiving text messages, alarms not going off, and force closes just to name a few.
The only true way to prevent something from running at all on your phone would be to uninstall the .apk.
Most applications will exit themselves if you get out of it by hitting "back" until it closes rather than hitting the "home" button. But even with hitting home, Android will eventually kill it once it's been in the background for a while.
krabman, thanks mate now your post really helped me a lot to understand these processes