Why you don't need a task killer


Thread Status:
Not open for further replies.

Last Updated:

  1. ardchoille

    ardchoille Well-Known Member

    I develop Android apps so I though I'd explain why a task killer isn't needed on an Android system.

    Activities
    Android apps use activites to preform tasks. For example, if you use a file manager to send a picture via email, the file manager calls the send activity within an email app, passes the file name to it and the email app sends the picture.. not the file manager. This will result in seeing the email app as "running" even though the user didn't actually launch that email app.

    Smaller apps
    Using activites helps developers design smaller apps. A file manager app that contains every bit of code needed to do everything a file manager does would likely be so large that no one would want to install it. Developers know that an android phone more than likely has an email app so there is no need for the developer to include email code in his/her file manager to send a picture when he/she can call an activity in an existing email app to do the job. This results in a smaller file manager app since there is no need to include email code or any other code for an activity that can be done via an app that is already present on the phone. This also alleviates redundant code. When you install an app outside of the android market, also known as sideloading, the file manager app calls the package installer (already present in Android) to install the requested app.

    Running apps vs. cached apps
    The "Manage Applications" list included in many android devices lists running apps as well as cached apps. Cached apps don't use any CPU or battery, they're cached so they will load faster the next time you need them. Killing cached apps results in those apps requiring more time to load the next time they are launched.

    System management
    By default, every android application runs in its own Linux process. Android starts the process when any of the application’s code (activities) needs to be executed, and shuts down the process when it’s no longer needed and system resources are required by other applications.

    * 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.

    If you see an app running that you didn't launch, it's most likely because an activity within that app was called by another app to perform a task. If you kill the app you didn't launch, the system has to relaunch that app in order to complete its task. This is why some people kill a task and then see it immediately running again. Constantly killing that app creates a situation where the user is battling the system resulting in wasted system resources.

    Android is Linux
    Android is not a Windows-based OS, it is based on Linux. Many of the apps you think are running aren't actually running, they're cached, this is typical with a Linux operating system and is much more efficient than other systems. Cached apps don't use any CPU or battery, they're cached and will load faster the next time they're needed.

    I hope this post will shed some light on task killers.

    Advertisement
  2. ClubSteeler

    ClubSteeler Well-Known Member

    Good post...

    My only question would be:
    Then why did the Andoid update, starting with Froyo, include a Task Killer with the OS?

    If it's usless, why include it in the baseline operating system?

    Just playing devils advocate. Once I got Froyo, I uninstalled my task killer, and have on occasion used the default one, specifically when some app has stopped but is still pounding my GPS and draining battery for no reason. Without task killer, I could watch the battery die, or reboot.
    ackmondual and Android26 like this.
  3. ardchoille

    ardchoille Well-Known Member

    I'm not sure. Perhaps too many cooks in the kitchen? I'm simply posting what I learned from google coding recommendations for android.

    Not every developer uses the same "perfect" coding methods and having apps that function outside of their intended purpose is inevitable. If you have an app that is constantly pounding your GPS then you have the choice of removing that app to replace it with one that performs its job a bit better or turning off GPS to conserve battery life.

    An android system does a mind-boggling amount of work and expecting a long battery life while doing everything the device can do is not a good expectation.
    funkylogik likes this.
  4. ClubSteeler

    ClubSteeler Well-Known Member

    Once again, good post.

    I have one app inparticular, its a free golf range finder app, and it doesn't always exit gracefully, and keeps pounding the GPS. Other than that, I don't see benefit to having the task killer.

    Now I might be nuts, but I sweat it was helpful with Android 2.1, but since teh 2.2 upgrade, I see no use for it.
  5. claus1953

    claus1953 Well-Known Member

    Thanks for the very interesting info. I am very new to Android and came from WM, so one of the first app i installed was an automatic task killer. After reading this right off it went... :)
  6. ardchoille

    ardchoille Well-Known Member

    I would recommend contacting the developer of the app and letting them know what you are seeing. It could very well be there's a bug in the app that the developers are unaware of. User feedback is vital to developers.
  7. Ron H

    Ron H Well-Known Member

    This week the Gallery stopped opening on the Droid X; it would start to open, then immediately close. I happened to be near a Verizon store, and the very first advice I was given was to download and install a task killer.

    When I told him I didn't want that but I could shut down all running apps with Go Launcher EX, he was sure that would fix the problem. It didn't, of course.

    This isn't the first time that a Verizon rep suggested the need for a task killer.
  8. sonofaresiii

    sonofaresiii Well-Known Member

    Every now and then, I have a specific need to kill an app, so I'm glad there's a task killer included, though I rarely use it. It's just one of those "nice to have" things.

    But anyway, I have a question-- everyone says a task or app is automatically killed if you haven't used it for a long time-- out of curiosity, any idea what that time is? Are we talking ten minutes or two hours?
  9. barqers

    barqers Well-Known Member

    Good post. and I think the reason a task killer is included in Froyo is precisely for that reason: Some app developers aren't the greatest coders and have the app doing things the user did not want it to do.
  10. barqers

    barqers Well-Known Member

    Depends. Say you had unlimited amounts of RAM, then there would be no need to *ever* (theoretically) close any apps from memory. It's only when memory becomes low does the android system kick out the oldest cached app. So if you open an app hit home and open 10 more apps, it'll be out of memory very quickly. and vice versa.
    funkylogik likes this.
  11. sonofaresiii

    sonofaresiii Well-Known Member

    I thought there was actually a time-limit that it automatically closes some things after, in ADDITION to closing things to free up RAM?
  12. barqers

    barqers Well-Known Member

    I do not believe so since this would be inefficient. RAM is going to utilize the same amount of power whether it is fully used or not. Regardless there's going to have power going through it. So emptying it from RAM on time limit would not be super efficient.
  13. aSystemOverloa

    aSystemOverloa Well-Known Member

    funkylogik, crossmr, n0vnm and 3 others like this.
  14. kevdliu

    kevdliu Active Member

    What happens if an app like the browser uses a lot of battery even when in the background and stays there for a long time before been killed off?
  15. Stinky Stinky

    Stinky Stinky Well-Known Member

    Dang it,

    I am really confused about this whole process / task killer thing.

    It's really strange... Linux and Unix themselves have a built in task killer and maybe thats where the Native / Built In Android Task Killer came from?

    I don't really know.

    Android is basically Linux Mobile I hope I am right lol

    I don't really know enough about Linux to understand... dang it. :(

    But I remember reading up about something called OOM Linux Killer or something like that or more commonly known as the "Out Of Memory Killer".

    There is also a way to nuke any crazy / dogdey software running on Ubuntu / Linux with the kill command like in Android like they do here:

    Kill process in Linux or terminate a process in UNIX or Linux systems

    I am not too sure why Google on Android would have kept this feature if it was so bad for you but I don't really know that much about Android and Linux any way... :/

    The OOM Killer that automatically nukes any running processes when ever the RAM limit is reached or too full.

    Here:

    How the Linux OOM killer works

    And it also seems OOM was kept with Android and has not yet been removed from the original Linux Kernel in Android! :confused:

    Here is what I am talking about:

    Android Kernel Features - eLinux.org

    But then it gets even weirder / stranger... because whenever I simply kill a whole bunch load of running Processes software on my Zenithink 7 UPAD my machine runs a whole load faster???

    Just weird in my view.

    I really don't get it.

    Maybe some day if / when I learn more about Linux and Mobile linux / Android I will figure this out but for now I am just not too clued up on this at the moment.

    I don't have all the knowledge right now ;(

    Hopefully some one can explain it all to me some time in a nice way pretty please :)

    Thanx in advance if you can explain this to me and my tiny brain! :D

    Any wayz sorry for the long post! ;)

    Hahaha

    Regards

    Stinky
    funkylogik likes this.
  16. evillincoln

    evillincoln Member

    Thank you for the good explanantion.
  17. HankAtrix

    HankAtrix Well-Known Member

    Wouldn't you agree that closing applications/processes is good and necessary? In my opinion, Advanced Task Killer does great job of killing a bunch of apps quickly so that I don't have to do them individually (which takes time). My phone runs better after I've closed apps (whether manually or through a Task Killer).
  18. Tre Lawrence

    Tre Lawrence Well-Known Member

    I think task killers are useless and border on detrimental, but if one makes you feel better, then by all means, use it.

    I think a good cache cleaner can be more important than a task killer, particularly when it comes to occasional lag.
    funkylogik and blahsaysmeu2u like this.
  19. lunatic59

    lunatic59 Moderati ergo sum Moderator

    No, actually I wouldn't. Most processes and apps that you see listed under running aren't running the sense that they are constantly consuming resources or preventing from other services or apps from gaining access to memory space when it is needed. Most are simply cached in memory awaiting a trigger so they may perform their function and then go back to waiting.

    If an app is poorly coded or experiences a fault that prevents it from operating normally, then killing it may be necessary. Arbitrarily killing groups of apps on a regular basis is unnecessary and detrimental to both battery life and possibly the phone itself. If you say your phone runs better after killing tasks, then I would locate the app(s) that are bogging your phone down and find an alternative or contact the developer about updating it to perform better.
  20. HankAtrix

    HankAtrix Well-Known Member

    In my experience, I have plenty (10-20) applications running simultaneously if I don't kill them each. There is no difference in closing apps with a task killer or manually. Any phone will be able to run faster and improve battery if there are fewer apps running. As I said in an earlier post, I choose to close them with an automated task manager (ATK). I am not talking about the 'rouge' apps - but rather every day apps that are running.
  21. lunatic59

    lunatic59 Moderati ergo sum Moderator

    I would recommend reading this:

    Multitasking the Android Way

    Posted by Tim Bray on 28 April 2010 at 11:41 AM
    [This post is by Dianne Hackborn, a Software Engineer who sits very near the exact center of everything Android.
  22. HankAtrix

    HankAtrix Well-Known Member

    That is not a very good argument (although it has some great stories!) The ironic thing is that this argument, and most others, simply disregard a lot of facts. Will a phone work faster with 2 or 30 apps running? I am not talking about rogue apps.... just normal apps. I would argue 2. And Task Killers allow you to efficiently close the apps rather than closing them manually.
  23. lunatic59

    lunatic59 Moderati ergo sum Moderator

    Then please explain why the argument is weak and list the facts it ignores.

    If we were talking about Windows mobile, perhaps your observations would have merit, but we are discussing Android. You are incorrectly applying a different memory management paradigm to the argument.

    1. If you are travelling down the highway with 2 cars every mile or 30 cars every mile, does it make sense that you'd go faster with fewer cars?

    2. They permit you to effectively kill processes, but they will be restarted immediately consuming CPU cycles and battery.
    JFSG, ardchoille and mitra_jit2005 like this.
  24. Stuntman

    Stuntman Well-Known Member

    Do you use apps that continually run on your phone? When an app is loaded, it may not be running if the app has nothing to do. A well designed app should not be running if it does not need to do anything. It may only be running when you switch to the app and actually use the app. My understanding of Android is that the task manager shows which apps are loaded into the system and not necessarily indicate which are actually running.
  25. mitra_jit2005

    mitra_jit2005 Active Member


    Presently, i am just a begginner in the Android field. But i loved this analogue. Must Say.. ^_^ ..
    blahsaysmeu2u likes this.
Thread Status:
Not open for further replies.

Share This Page