A task killer is an app from which you can (sometimes automatically) force other apps to quit, the hope being that the fewer apps you have running in the background, the better your Android's performance and battery life will be. Not everyone agrees with this premise, though. The argument about whether task killers are effective rages all over the internet: Android forums are full of threads with constant bickering and conflicting anecdotal experience, making it difficult for most users to make sense of the situation.
Below, I'm going to dig into the truth about Android task killers: that Android manages tasks fairly well on its own, and how task killers present quite a few problems. I'll also take a look at the rare occasions when they're useful and offer some alternatives you should try to improve your phone's performance and battery-life quirks.
Before we dive in, here's a quick overview of how Android handles process management by default.
How Android Manages Processes
In Android, processes and Applications are two different things. An app can stay "running" in the background without any processes eating up your phone's resources. Android keeps the app in its memory so it launches more quickly and returns to its prior state. When your phone runs out of memory, Android will automatically start killing tasks on its own, starting with ones that you haven't used in awhile.
The problem is that Android uses RAM differently than, say, Windows. On Android, having your RAM nearly full is a good thing. It means that when you relaunch an app you've previously opened, the app launches quickly and returns to its previous state. So while Android actually uses RAM efficiently, most users see that their RAM is full and assume that's what's slowing down their phone. In reality, your CPU — which is only used by apps that are actually active — is almost always the bottleneck.
Why Task Killers Are (Usually) Bad News
Apps like Advanced Task Killer, the most popular task killer in the Market, act on the incorrect assumption that freeing up memory on an Android device is a good thing. When launched, it presents you with a list of "running" apps and the option to kill as many as you want. You can also hit the Menu button to access a more detailed "Services" view that lists exactly which parts of each application are "running", how much memory they take up, and how much free memory is available on your phone. This set-up implies that the goal of killing these apps is to free up memory. Nowhere on the list does it mention the number of CPU cycles each app is consuming, only the memory you'll free by killing it. As we've learned, full memory is not a bad thing — we want to watch out for the CPU, the resource that actually slows down your phone and drains your battery life.
Thus, killing all but the essential apps (or telling Android to kill apps more aggressively with the "autokill" feature) is generally unnecessary. Furthermore, it's actually possible that this will worsen your phone's performance and battery life. Whether you're manually killing apps all the time or telling the task killer to aggressively remove apps from your memory, you're actually using CPU cycles when you otherwise wouldn't — killing apps that aren't doing anything in the first place.
In fact, some of the processes related to those apps will actually start right back up, further draining your CPU. If they don't, killing those processes can cause other sorts of problems — alarms don't go off, you don't receive text messages or other related apps may force close without warning. All in all, you're usually better off letting your phone work as intended — especially if you're more of a casual user. In these instances, a task killer causes more problems than it solves.
What You Should Do Instead
That said, not all apps are created equal. Many of you have used task killers in the past and actually found that after freeing up memory, your phone works a bit better. It's more likely that this is because you've killed a bad app — one that was poorly coded, and (for example) keeps trying to connect to the internet even when it shouldn't. Any performance increase you experience is more likely because you killed the right app, not because you freed up loads of memory (or, in many cases, it's just placebo). Instead of killing all those apps, find out which ones are actually causing the problems. If you really know what you're doing, you may benefit from using a task killer to stop the one or two inefficient-but-loved apps on your phone.
Note, however, that this is still a contested notion. A lot of developers (including ROM builder extraordinaire, Cyanogen) will not even look at your bug reports if you're using a task killer. In this humble blogger's opinion, you're best bet is to stay away from regular task killer usage entirely. If you absolutely have to have that one battery-killing app on your phone, though, kill away — just be aware that when you experience a recurring Android bug later on, the task killer may be at fault. Of course, you can just stop using it to determine whether that is or isn't the case.
With task killers firmly in the better-off-without box, there are still a number of other things you can do to fill the void, improving your performance and battery life:
Watch for Runaway Processes: Previously mentioned Watchdog is a slightly different kind of task killer, in the sense that instead of telling you your phone's out of memory and it's time to go on a task killing spree, it alerts you when the occasional app starts eating up CPU for no reason. You can then kill the app with Watchdog and get on with your day (though honestly, at that point, I usually just reboot my phone). If it happens often with the same app, however, you may want to move on to the next step.
Uninstall Bad Apps: Worse than the occasional one-time runaway app is the poorly coded, always-eating-CPU app. If you find (with Watchdog or through some other method) that a particular app seems to drain CPU and battery life whenever it's running, confirm your suspicions by uninstalling it and seeing what happens. If an app is causing problems on your phone, you're probably better off without it.
Root Your Phone: We advocate rooting Android devices a lot at Lifehacker, but that's because it really is as useful as everyone says it is. You can overclock and underclock your phone with SetCPU, install custom ROMs that noticeably improve performance and battery life, and use the ever-useful, crapware-thwarting Autostarts utility to stop apps from starting up on your phone in the first place. Honestly, with one-click rooting apps like previously mentioned Universal Androot available for most phones, rooting only takes a few minutes to do, and you'll be much happier for it.
Seriously, Use the Power Control Widget: This may sound ridiculously obvious, but if you aren't already using some form of the Power Control widget, you should. The things that drain the most battery on any smart phone are Wi-Fi, Bluetooth, GPS and your screen. Turn them off when you don't need them and you'll find that you can eke out considerably more battery life.
Charge Your Phone: Even more obvious yet rarely heeded advice: Charge your phone often. This isn't as hard as it sounds for most people. While you're sometimes stuck going out for 14 hours with no place to charge your phone, the majority of us spend our days in our homes, our offices and other places rife with electrical outlets. Buy a few extra chargers and place them strategically around your home, car and office. Whenever you're sitting around at home or working away at your desk, you can use that time to dock your phone and give it some extra juice without worrying about battery or performance drains. Before I upgraded to Android 2.2, my battery life was pretty awful, but just having a charger in my car and next to my computer made a huge difference in how often I got the dreaded "low battery" message.
Task managers are a controversial subject in Android-land. We've done our research and this is what we came up with, but we're always keen to hear how similar or different your experience is, so share with us in the comments.