[EVO 4G Q&A, Help & Troubleshooting] Chainfire:
Actually, thinking about a reply gave me a good idea. More on that some other time :)

Long story short: it all depends.

Short story long:

Anyways, task killers are not inheritly bad, but they are "dangerous". How dangerous depends entirely on how you use them. In general I would say, if you have a device with sufficient memory available, I would only use a task manager to manually kill games (only) that you played but are no longer playing, or some apps if you understand what they do and how they work. Generally we refer to task killers that do not have an automatic component as task managers instead of killers.

One danger is how the app is killed. If it is not killed "gracefully" corruption may occur. This is very rare to occur, though. Apps will almost always be killed gracefully.

Another danger is killing apps that are tied to background services. In most task killers (if not all) there is no way to see if they have such a background service. What most task killer display is actually only visible components of applications. However, killing them will also kill the background services. This may prompt Android to just restart it, but this time invisibly, and you just wasted quite some CPU (not to mention time) to save a little bit of memory you won't miss. Some services are hefty on the initialization but light on running on purpose, and this will make the effect bigger. Another option is that the service simply no longer runs -as it is NOT restarted- and some part of your phone may not behave as you expect it to. Common sense helps here. For example, you could kill the browser like this, but killing a system service app like (I assume) SetCPU, JuiceDefender, etc will generally be a bad idea. Automated task killers do not usually distinguish between these.

Now, Android's internal killer does distinguish between these things (and many more important factors). Say you are in this situation:

- A is running in the foreground

- B is in the background and has a service

- C is in the background

- D is in the background

If we run low on memory, Android will kill C and D before killing B, and it will kill B before killing A. Which is pretty much exactly how we want it done. Android will know when it is necessary to do this. An automated task killer may for example kill B. But B might automatically restart it's invisible parts. Then the automated task killer is in the same situation again, and will shortly after that kill C or D. This operation just wasted a whole bunch of CPU cycles!

Keep in mind, that if an application is not specifically built to do something while it is not in the foreground (i.e. directly visible on your screen), it will not actually be executing any code at all. It will just take up some memory. This is a good thing, because if you go to this app again it will still be exactly as you left it, without the app having to go through all the loading and initialization steps again. How much effect that has depends on the app, obviously. You should see this more as a cache, or ramdisk, or something similar. Well-built apps do generally not have a negative effect on CPU or battery use when they are not in the foreground. They would only use background resources if truely needed.

There is no noticable negative side effect on battery to this. If Android needs the memory and it doesn't have any to spare (for example for your foreground application), it will simply kill off one or more of the background applications.

Also keep in mind that if you "close" an app by using the back button, on many devices and ROMs this will actually close the application instead of keeping it in the background. There is no foreward button, after all.

Now, to the battery issue. I have seen, heard, and read endless complaints by many users regarding poor battery life, RAM being full (there is hardly any reason to care, on a proper firmware), etc. and that these task killers help them. The fact is, that 95 times out of 100 these users are running "a bunch of crap". Because make no mistake, there are a lot of crap apps, widgets, even complete custom ROMs out there. Using system resources when they don't need to, using background services when they don't need to, constantly polling data instead of being event based, etc. Just badly done stuff.

Finding the culprit is often difficult, though in my personal experience (your mileage may vary) the culprit is most often a app+widget combo rather than a bar app. That is, unless you install a serious hack (again, like CPU speed managers, battery savers, etc) and configure them exactly how they shouldn't be configured for your usage situation, with all the resulting adverse effects. When someone I know personally has these issues, the first thing I have them do is uninstall all apps that provide widgets. You would be surprised how often that has solved the issue altogether.

Automated task killers are a band-aid solution in these cases. Of course, there also exist cases of improperly configured Android memory management in the firmware, and if you have a device with very little RAM this can also be problematic, but these are much less common than the user installing crappy stuff (though sometimes it is the carrier with bad bloatware). Usually, automated task killers just fight symptoms, not the cause.

My advice would definitely be, check what you're running and what you install. If you're a bit techsavvy, use a task manager, but only kill tasks manually. Never "kill all" unless absolutely necessary, and don't run it automated unless you are absolutely sure the developer is worth his salt. Even then, don't make a habit out of killing apps manually. Do make a habit out of exiting apps (especially games) with the back button, instead of for example using the home button to switch to the app launcher.

A case can be made for manually killing apps as it gives you more control over what is killed when, but the time you would spend doing it is worth more than what you would save (generally). Also keep in mind that the automated task killer itself will also be running a background process to check on your situation and kill apps, and thus may actually be part of the problem instead of the solution.

@nukedukem: I'm running Froyo and the task manager I'm using kills apps just fine when I tell it to do so...