Do Android Devices Need Third-Party Task Killers?

31

The issue of Android using a task killer has been an ongoing discussion for a while now. In an attempt to free up memory and improve battery life, some users have resorted to the use of third-party task killers. Many claim the use of task killers effectively frees up memory while others claim that it does more harm than good because tasks are killed prematurely. One recent claim of improved phone performance has led me to revisit the topic and share my findings.

I personally do not use task killers. I prefer using startup managers. One such application I use is the Startup Manager app developed by DownloadAndroid.info. It shows me what applications and processes are configured to run during system startup and allows me to disable any process by just unchecking its checkbox from the entry list. I like using SM because, unlike task killers, it allows me to simply set it and forget it.

Obviously, that is not the reason I don’t use task killers. I studied a bit about the Android application lifecycle prior to purchasing my first Android device – in fact, the application lifecycle was one of the many features that attracted me to Android. So why don’t I use third-party task killers? It’s because my Android device is already a task killer – an automated one too.

As described in the Android application lifecycle, one thing that stands out about the platform is the ability to juggle multiple applications at once. Android’s platform has a good multitasking design allowing it run applications well and manage memory efficiently.

Though third-party task killers are helpful for targeting certain processes that are certainly not needed, many applications displayed in the task manager are not necessarily actively using memory resources. The cool thing about the Android application lifecycle is that when the user leaves an application, its process is kept around in the background, allowing it to do other things on the phone if needed. Unlike Windows Mobile devices or iPhones, there is no button to exit the application – hence the intuitive use of the Back and Home keys.

Because memory on a device is limited, Android will prioritize and kill processes that are not needed based on the priority of the process for the user or how long the process has been idle. If the system determines that it needs to remove a process, it kills it.

Even after Android has killed a process, it can be relaunched it to its last seen state because it stores vital parts of the last state at the time the user leaves that part of the application, just prior to its being killed. On the other hand, processes like background music playback, data synchronization, location tracking, and alarm clocks among others need a way to tell Android to do something while not in the foreground.

Here is an 8 minute good video from Google explaining the Android application lifecycle:

Android also utilizes broadcast receivers and services for multitasking management. An example of broadcast receivers are application widgets. Android sends broadcasts when it needs to interact with the widgets. This allows app widgets to be quite lightweight by not needing their application’s process to remain running.

A service, on the other hand, allows an application to implement longer-running background operations to continue running even while in the background, until I say the application sends another broadcast to stop. An application controls when its service runs by explicitly starting and stopping the service. Example of such a service is the music playback which runs in a service to allow it to continue operating after the user leaves the music application.

With an overview of how the application lifecycle works, I hope those who don’t already understand it have a better idea. I feel the issue of using task killers comes down to how well the applications were designed. The Android platform has been designed with the user’s experience in mind – I think it does that well. Instead, awareness of creating better application development practices should be brought to the forefront. The better the app, the more improved performance the device gets. Memory management in apps is key!

A good resource I would advice application developers to checkout is A Beginner’s Guide to Android by Reto Meier.

This is a recorded Google I/O session that revisits the basic concepts involved in Android development. It’s about 55 mins long but it’s worth it. Check it out if you have not already seen it.

Feel free to share your thoughts on task killers, start managers, the application lifecycle process and other related topics! I would love to hear your thoughts.

Sources: Android Development Blog, Reddit

About the Author

Salim Ibrahim
Salim is an Instructional Technologist and an e-learning Administrator for a University in the New England area. He enjoys making recommendations on various technology applications especially open source projects. Android devices have been on his most recommended list since he first purchased his T-Mobile G1 in March of 2009. He recently upgraded to the Samsung Vibrant from a T-Mobile MyTouch 3G. He wishes all smart phones were Android based.

  • Kevin

    Wow – fantastic article on a topic I’ve been wrestling with myself. Thanks Salim!

  • Kevin

    Wow – fantastic article on a topic I’ve been wrestling with myself. Thanks Salim!

  • Kevin

    Wow – fantastic article on a topic I’ve been wrestling with myself. Thanks Salim!

  • matt L

    I quit using a task killer long ago, I used 2 diff kinds. and my device never acted as good as without a task killer. so I simply stopped using them. and when 2.1 came along it had a build in TK. so I like my android w/o a TK.

  • matt L

    I quit using a task killer long ago, I used 2 diff kinds. and my device never acted as good as without a task killer. so I simply stopped using them. and when 2.1 came along it had a build in TK. so I like my android w/o a TK.

  • matt L

    I quit using a task killer long ago, I used 2 diff kinds. and my device never acted as good as without a task killer. so I simply stopped using them. and when 2.1 came along it had a build in TK. so I like my android w/o a TK.

  • blabeen

    Thanks Salim ,, very useful article

  • blabeen

    Thanks Salim ,, very useful article

  • blabeen

    Thanks Salim ,, very useful article

  • Armani

    I totally agree with this article as I also tried a couple different task killers thinking that it would improve the Incredible’s performance. But after reading a couple of articles like this one I decided to uninstall them and what would you know? My Incredible performed better without those task killers and my battery life has not been compromised (not to say that it’s good). These are the kind of articles that we need to educate us in the Android platform, thank you!

  • Armani

    I totally agree with this article as I also tried a couple different task killers thinking that it would improve the Incredible’s performance. But after reading a couple of articles like this one I decided to uninstall them and what would you know? My Incredible performed better without those task killers and my battery life has not been compromised (not to say that it’s good). These are the kind of articles that we need to educate us in the Android platform, thank you!

  • Armani

    I totally agree with this article as I also tried a couple different task killers thinking that it would improve the Incredible’s performance. But after reading a couple of articles like this one I decided to uninstall them and what would you know? My Incredible performed better without those task killers and my battery life has not been compromised (not to say that it’s good). These are the kind of articles that we need to educate us in the Android platform, thank you!

  • Salim Ibrahim

    I forgot to mention in my post that Startup Manager is for rooted phones only. Non-rooted devices can try Startup Cleaner 2.0 instead. Thanks to Kevin for the tip.

  • Salim Ibrahim

    I forgot to mention in my post that Startup Manager is for rooted phones only. Non-rooted devices can try Startup Cleaner 2.0 instead. Thanks to Kevin for the tip.

  • Salim Ibrahim

    I forgot to mention in my post that Startup Manager is for rooted phones only. Non-rooted devices can try Startup Cleaner 2.0 instead. Thanks to Kevin for the tip.

  • The Sombrero Kid

    The problem with the task killer argument is it often is about whether or not a user should use a task killer, when it should be about whether or not androids application life cycle is broken, which it is.

    People often say that they tried a task killer, it didn’t work and now they don’t use it, which is a valid point of view, but what the discussion should focus on is why do so many users try task killers (what problem are they trying to solve?) and why does the use of a task killer render the underlying os unstable?

    In short google are as incapable of making task killers a stable part of their application eco system as they are of automatically managing the application lifecycle themselves, it’s like them saying “would you rather i stab you in the face or the heart?” and you saying “I’d rather you didn’t stab me at all”.

    • https://www.google.com/accounts/o8/id?id=AItOawnhd7SSldd2MM4hcs1egH6JchFWsDAqXzk Lie

      The OS does not gets unstable just because of task killers (if it is, it would be a serious bug); what gets unstable are applications that leaves the user’s data in an inconsistent state, causing random crashes at random times for these applications, and possibly even corrupting other applications’ shared data and destabilizing those applications as well. Linux and Android framework itself is rock solid with respect to random task killing; applications are not so.

      In Linux/Unix, experienced system administrators will only ever send an uninterruptible signals (which is what Force Kill essentially does) only as a last resort when more friendly measures to close the application are not honored, they do it with knowing the full risk. This kind of precaution is not exercised by most people using tasks killers in Android; most people are not qualified to assess the full risks of sending uninterruptible signals, and they are way too often too quick in force killing apps unnecessarily. If you have sent an application force kill and you don’t see instability, you’re just being lucky for killing the apps while it is at some safe period or maybe you have only killed low risk apps (apps that does not save persistent data are safer to kill than, say, your email apps).

      It is impossible to write an applications that is well-behaved when sent an uninterruptible signal; by definition, uninterruptible signal cannot be intercepted (interrupted) by applications, and application cannot do any cleanup to ensure consistency of the system’s state.

  • The Sombrero Kid

    The problem with the task killer argument is it often is about whether or not a user should use a task killer, when it should be about whether or not androids application life cycle is broken, which it is.

    People often say that they tried a task killer, it didn’t work and now they don’t use it, which is a valid point of view, but what the discussion should focus on is why do so many users try task killers (what problem are they trying to solve?) and why does the use of a task killer render the underlying os unstable?

    In short google are as incapable of making task killers a stable part of their application eco system as they are of automatically managing the application lifecycle themselves, it’s like them saying “would you rather i stab you in the face or the heart?” and you saying “I’d rather you didn’t stab me at all”.

  • The Sombrero Kid

    The problem with the task killer argument is it often is about whether or not a user should use a task killer, when it should be about whether or not androids application life cycle is broken, which it is.

    People often say that they tried a task killer, it didn’t work and now they don’t use it, which is a valid point of view, but what the discussion should focus on is why do so many users try task killers (what problem are they trying to solve?) and why does the use of a task killer render the underlying os unstable?

    In short google are as incapable of making task killers a stable part of their application eco system as they are of automatically managing the application lifecycle themselves, it’s like them saying “would you rather i stab you in the face or the heart?” and you saying “I’d rather you didn’t stab me at all”.

  • Bill

    Sombrero:
    So many users are using Task Killers because they are available on the market and because it is popular belief that Android needs managing. They don’t necessarily want to solve a problem. People hear something is good/needed and they jump on it without actually looking into what they think is needed.

    The use (or misuse) of Task Killers can make the OS unstable since the majority of people don’t understand what programs they are killing. Most people don’t take the time to whitelist the proper apps and just hit the kill all option.

    Google has no reason to make third-party Task Killers a part of their “eco-system” (Apple terminology?) since they already have a built in task manager. Nothing is broken until a bunch of people that don’t know anything are given access to programs and apps in a way that they shouldn’t be messing with. I used to use a Task Killer until I read how the Android OS functions. Since I stopped my phone has been running the same, I just don’t waste time killing off apps anymore. Unlike Apple, Google doesn’t feel the need to protect users from themselves and allows Task Killers in the market.

    Just like with PCs and Macs: the OS’s are not broken because people don’t know not to install things from questionable websites. Most people are just computer stupid, making it user error not software or hardware. Working in IT for a few years I can promise you most computer problems I had to deal with were user error. That company eventually had me lock down their machines so tight that users couldn’t even right-click for more options.

    In short, don’t blame Google, Android or Task Killers: blame the users for thinking they know enough to mess with the running tasks.

    • The Sombrero Kid

      Lol, i thought this blame the user mentality died out in the 90’s, android is broken and people need to realise that, right now it’s the best we’ve got but it’s is nowhere near the best we could have.

      The fact that it’s ambiguous what is running and what is not and what level of running state it’s in is a design problem that needs addressed, among other gaping issues and as soon as a competitor, that isn’t apple, comes along that addresses these issues they will literally sow up the market.

      If people wont accept theres a problem we can’t begin discussing how to fix it, they way to fix a mass market product is NEVER make the users better.

      • https://www.google.com/accounts/o8/id?id=AItOawnhd7SSldd2MM4hcs1egH6JchFWsDAqXzk Lie

        TL;DR version: Linux != Windows != Mac != Android

        The fact that it’s ambiguous what is running and what is not is a conscious design decision. Android departs from traditional OS designs by taking process management as micromanagement that should be handled by the system instead of by the user. The rationale is that User sees Tasks, not Applications or Processes, and a single Task can be fulfilled by multiple Applications. For example, “sending a picture of your dog to your friend” can be handled using three applications: Camera application to take the picture, Address book to search his email address, and the Gmail application to actually send the email. The use of multiple applications should be transparent to user, as they perceive all this as a single Task “send picture of your dog to your friend” instead of three separate tasks in three separate applications.

        Conceptually, all applications are always running all the time; this means conceptually applications are never “dead”. There is no “running” or “not running” apps in Android, to Android Users running processes and applications are all just as irrelevant as there is an “empty sector” in a harddrive, or 3v of electricity needs to be applied to pin 3 for 3ms to do certain calculations.

        Now that process management is considered a micromanagement, it is necessary to educate users that are used to managing processes in other platforms to keep their hands off from micromanaging processes in Android. In The Google I/O video, in Five Deadly Sins, they summed it up as: “Arrogance: Don’t fight the system. It will most likely win.” Two heads fighting each other are worse than one head working alone, just give up process management, and the system will manage starting, pausing, killing, and resuming processes as efficiently as possible.

        Whether you think the idea of “Task instead of Applications/Process” is a good idea or not, and whether the current implementation satisfies this design goal is up to debate, however the ambiguity of a process’ life is an integral part of the Android experience. Android’s automated process management is also improving on every releases, Gingerbread has just added battery usage and hoggingness as a metric to kill processes and we can only expect there will be less and less actual reasons to manually kill processes as Android improves.

    • The Sombrero Kid

      Lol, i thought this blame the user mentality died out in the 90’s, android is broken and people need to realise that, right now it’s the best we’ve got but it’s is nowhere near the best we could have.

      The fact that it’s ambiguous what is running and what is not and what level of running state it’s in is a design problem that needs addressed, among other gaping issues and as soon as a competitor, that isn’t apple, comes along that addresses these issues they will literally sow up the market.

      If people wont accept theres a problem we can’t begin discussing how to fix it, they way to fix a mass market product is NEVER make the users better.

  • Bill

    Sombrero:
    So many users are using Task Killers because they are available on the market and because it is popular belief that Android needs managing. They don’t necessarily want to solve a problem. People hear something is good/needed and they jump on it without actually looking into what they think is needed.

    The use (or misuse) of Task Killers can make the OS unstable since the majority of people don’t understand what programs they are killing. Most people don’t take the time to whitelist the proper apps and just hit the kill all option.

    Google has no reason to make third-party Task Killers a part of their “eco-system” (Apple terminology?) since they already have a built in task manager. Nothing is broken until a bunch of people that don’t know anything are given access to programs and apps in a way that they shouldn’t be messing with. I used to use a Task Killer until I read how the Android OS functions. Since I stopped my phone has been running the same, I just don’t waste time killing off apps anymore. Unlike Apple, Google doesn’t feel the need to protect users from themselves and allows Task Killers in the market.

    Just like with PCs and Macs: the OS’s are not broken because people don’t know not to install things from questionable websites. Most people are just computer stupid, making it user error not software or hardware. Working in IT for a few years I can promise you most computer problems I had to deal with were user error. That company eventually had me lock down their machines so tight that users couldn’t even right-click for more options.

    In short, don’t blame Google, Android or Task Killers: blame the users for thinking they know enough to mess with the running tasks.

  • Bill

    Sombrero:
    So many users are using Task Killers because they are available on the market and because it is popular belief that Android needs managing. They don’t necessarily want to solve a problem. People hear something is good/needed and they jump on it without actually looking into what they think is needed.

    The use (or misuse) of Task Killers can make the OS unstable since the majority of people don’t understand what programs they are killing. Most people don’t take the time to whitelist the proper apps and just hit the kill all option.

    Google has no reason to make third-party Task Killers a part of their “eco-system” (Apple terminology?) since they already have a built in task manager. Nothing is broken until a bunch of people that don’t know anything are given access to programs and apps in a way that they shouldn’t be messing with. I used to use a Task Killer until I read how the Android OS functions. Since I stopped my phone has been running the same, I just don’t waste time killing off apps anymore. Unlike Apple, Google doesn’t feel the need to protect users from themselves and allows Task Killers in the market.

    Just like with PCs and Macs: the OS’s are not broken because people don’t know not to install things from questionable websites. Most people are just computer stupid, making it user error not software or hardware. Working in IT for a few years I can promise you most computer problems I had to deal with were user error. That company eventually had me lock down their machines so tight that users couldn’t even right-click for more options.

    In short, don’t blame Google, Android or Task Killers: blame the users for thinking they know enough to mess with the running tasks.

    • The Sombrero Kid

      Lol, i thought this blame the user mentality died out in the 90’s, android is broken and people need to realise that, right now it’s the best we’ve got but it’s is nowhere near the best we could have.

      The fact that it’s ambiguous what is running and what is not and what level of running state it’s in is a design problem that needs addressed, among other gaping issues and as soon as a competitor, that isn’t apple, comes along that addresses these issues they will literally sow up the market.

      If people wont accept theres a problem we can’t begin discussing how to fix it, they way to fix a mass market product is NEVER make the users better.

  • Arphez Twig

    “when the user leaves an application, its process is kept around in the background, allowing it to do other things on the phone if needed.”

    well said, that’s exactly why I DO use a task killer. I really don’t want things happening in the background. maybe an alarm clock or email sync. but when I find an application is constantly kept running in the background, or keeps starting up by itself when I really don’t need anything it has to offer (last.fm and the damn genius button are examples) and it has no option to disable whatever it’s doing within it’s settings, I’ll usually just uninstall it. I use TKs more as a monitor than anything else. android does in fact get bogged down, too. when my homescreen gets choppy, ATK kills all the random things that have started or are still running and all is well.

    I don’t use them because I think android needs managing, I use them because developers need managing. no application should be able to keep itself running in the background without the user’s consent. it makes me nervous.

  • Arphez Twig

    “when the user leaves an application, its process is kept around in the background, allowing it to do other things on the phone if needed.”

    well said, that’s exactly why I DO use a task killer. I really don’t want things happening in the background. maybe an alarm clock or email sync. but when I find an application is constantly kept running in the background, or keeps starting up by itself when I really don’t need anything it has to offer (last.fm and the damn genius button are examples) and it has no option to disable whatever it’s doing within it’s settings, I’ll usually just uninstall it. I use TKs more as a monitor than anything else. android does in fact get bogged down, too. when my homescreen gets choppy, ATK kills all the random things that have started or are still running and all is well.

    I don’t use them because I think android needs managing, I use them because developers need managing. no application should be able to keep itself running in the background without the user’s consent. it makes me nervous.

  • Arphez Twig

    “when the user leaves an application, its process is kept around in the background, allowing it to do other things on the phone if needed.”

    well said, that’s exactly why I DO use a task killer. I really don’t want things happening in the background. maybe an alarm clock or email sync. but when I find an application is constantly kept running in the background, or keeps starting up by itself when I really don’t need anything it has to offer (last.fm and the damn genius button are examples) and it has no option to disable whatever it’s doing within it’s settings, I’ll usually just uninstall it. I use TKs more as a monitor than anything else. android does in fact get bogged down, too. when my homescreen gets choppy, ATK kills all the random things that have started or are still running and all is well.

    I don’t use them because I think android needs managing, I use them because developers need managing. no application should be able to keep itself running in the background without the user’s consent. it makes me nervous.

  • jaswinder

    Superb !! I bought my new 2nd Android 4.0.4 ICS phone yesterday & I felt strange it didn’t have a preloaded Task monitor ( as in galaxy GT-I5801). So I started loading one & just then a thought struck me as to why this higher version isnot having a task monitor?? And wollah !! reading your article has only made me happy. Being an engineer myself I fully agree to the android approach. And THANKS to you too.

© 2010  AndroidSPIN. All rights reserved.
A Subsidiary of MobileTweek Inc.