• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Why you don't need a task killer

Status
Not open for further replies.
I think letting the system handles when to claim resources is better approach. (like in programming, GC vs manual garbage collection). but android gives manual management if you need.
Even with safe kill, it's still not a good approach, because android process has its own virtual machine. And when you kill it, and need it back later, you need to boot it up again. and it consumes more resources.
 
With all due respect - you are staying that Task Killers are not useful with Android. My argument is that running fewer apps leads to better performance and that Task Killers are an efficient way to kill tasks if you set the ignore list up properly. I ran a benchmark as part of my education process and want to share the results. It speaks directly to the premise - my phone runs 30% faster if I kill apps.

How are you arriving at this 30% faster figure? Quadrant scores?
 
With all due respect - (1.)you are staying that Task Killers are not useful with Android. (2.)My argument is that running fewer apps leads to better performance and that Task Killers are an efficient way to kill tasks if you set the ignore list up properly. I ran a benchmark as part of my education process and want to share the results. It speaks directly to the premise - my phone runs 30% faster if I kill apps.

1.) No. Again another logical fallacy. Straw Man this time. (sorry, don't recall the Latin for that one). I in fact have admitted that task killers can be useful. What I am stating is that they are not necessary as a routine maintenance app. That regularly killing processes is not beneficial and can be detrimental.

Let me explain it this way. You are an executive of a company and you hire a traffic manager whose job is to make sure employees can get to work and leave as efficiently as possible, but you only have one guarded gate and limited parking near the office. There is, however a large parking lot adjacent to the office outside the gate. The traffic manager is paid a toll by the cars passing through the gate. In this analogy you are the Phone owner, the "traffic manager" is Android's process management, the "employees" are apps, the "gate" is the CPU and the parking lot is memory. The traffic manager's compensation is battery power.

Normal operations mean an employee arrives and is processed through the gate. They park near their office. As more employees arrive, the internal lot fills up and your traffic manager decides who should be moved outside to the adjacent lot to make room for the busiest workers. Since they must go through the gate, there is a fee.

You call down from your executive suite and tell the traffic manager to clear the parking lot because you think employees can do their jobs faster if they have unrestricted access in the internal lot. He wastes time moving all the cars to the external lot and collects his toll (uses battery power.)

Now you call for a new employee, we'll call him Peter, to get working and he arrives unrestricted and zips right into the first slot he sees. He calls the traffic manager and says "Hey, for me to do my job, I need Bob from accounting working." So the Traffic manager goes and get's Bob, even though you had him moved a few minutes earlier. Bob calls down and says Mary in HR makes his job run smoothly so The manager goes and gets Mary.

After a few minutes you look out your window and see the cars in the lots and call down to the Traffic manager and tell him to clear the lot again. Now, if Peter wants to continue working, Bob and Mary must come back but Bob can't get in because Mary is still leaving. Then she must turn around and come back in.

Can Peter get to his job faster? Sure. Can he get his job done efficiently while you are shuttling the other employees around? Probably not as well as if you'd left the Traffic manager alone to do his job. Is there a negative impact? Absolutely. Not only is the operation of the company less efficient, but the traffic budget (battery power) is depleted prematurely.

Now, as a company executive would you award Peter from being the fastest guy to his job even though he wasn't the fastest guy at his job? And would you blame the Traffic manager for being inefficient because he did what you told him to do?

2.) Without knowing what you are killing and what you use on a regular basis, I cannot comment one way or another on why you see the results you do. Although, if we are going by your benchmark numbers, that's only a 20% increase.
 
I disagree, not with the theory, maybe it should work like this, but it doesn't. I've noticed general lagging when swiping between screens and other activities, I go into a task killer, kill the apps that i don't need and it's much smoother afterwards. It **WILL** depend on what apps are running, yes, but to say App Killers are a waste of time/resources is too much of a sweeping statement.

same here. I wouldn't use an Android phone without a task killer.

I have to kill tasks few times a day at least.
 
I know how Android works. My read is that Lunatic clearly is anti-task killer (which makes 100% sense if he is a developer). He doesn't want his apps to be closed. Also, Lunagic is simply reposting most of his original post from another post by someone else.

First, I'm not sure you do (know how android works). You seem to make a lot of statements that indicate misunderstanding.

Second, I notice that your only response to my 2 posts is basically "Lunatic is biased".

So I guess my opinion, and the opinions of others on the board, don't count?



Nevermind, I'm done trying to help you at this point. Education is only possible if the student is willing.
 
And this is something many people don't realize.

I have gone from arguing to drinking. It's much more enjoyable ;)

Barbecued chicken with grilled veggies and a bottle of Picpoul de Pinet followed by a very nice El Rey del Mundo Rectangulare. Mmmmmm.

Although it did require the use of ACK (Automatic Chicken Killer)
 
With all due respect - you are staying that Task Killers are not useful with Android. My argument is that running fewer apps leads to better performance and that Task Killers are an efficient way to kill apps if you set the ignore list up properly. I ran a benchmark as part of my education process and want to share the results. It speaks directly to the premise - my phone runs 30% faster if I kill apps.
Set the ignore list up properly? I'll ask this again, how do we know which apps shouldn't be closed or placed in the ignore list?

Suppose you have an app that isn't listed in the ignore list but an activity within that app is being used by another app. If you close the app that is being used the system must restart it from scratch to complete the task that it was trying to complete. If you close it again the system has to restart it again. This app will then appear to be a rogue app that just won't die when in fact the system is doing what it needs to do in order to complete a task. This also creates a situation where the user is battling the system.. wasting system resources.

Those who want to run a task killer can do so, it's their phone. However, as an android developer, I'm saying that a task killer on android does more harm than good.
 
I don't believe that at all. Some apps close themselves, some apps contiue runnine, and some apps are closed by Android.
Where are you seeing these "running" applications? If you're referring to the list in Menu > Settings > Applications > Manage Applications > Running (tab), then you should know that this list is a combined list of running and cached applications on Froyo. Flash a true Gingerbread ROM and look at the same list. Then, in gingerbread, hit the Menu button while viewing that list and you'll see that you can toggle between "running" and "cached" apps. You'll also notice the running list much smaller than the cached list. I've done this comparison on Froyo and Gingerbread ROMs and there is a definite distinction there in Gingerbread that is not seen on Froyo - this could be the source of all of this misunderstanding.

Cached apps aren't "running", they're cached so they open faster the next time you need them. Cached apps don't use any power. This is typical of a Linux operating system, which is what Android is based on.

Would you care to answer my question 3 posts up?
 
With all due respect, it is you that is making the conclusions that ATK is unnecessary based simply on an article. Back to my original question: Would your phone run better if it runs 2 apps or 20. Despite Androids design to do multitasking, it still (like any other unix or other operating system) will be bogged done. It will do it (because that is how it is designed) but the performance is hurt running 20 apps.

I don't understand why apps would run if it has nothing to do. Apps can be loaded and do nothing most of the time. Once they need to do something, then they run. If an app is not running, I don't understand how killing it is really going to significantly improve performance or battery life.
 
Here are some screenshots of what I was talking about in my previous post. These are from Menu > Settings > Applications > Manage Applications > Running (tab) in Gingerbread. Notice the bottom of each screenshot.

1. This screenshot shows apps running - notice the RAM "used" in the highlight at the bottom:
screenshot_1.png


2. This screenshot shows apps cached - notice the RAM "free" in the highlight at the bottom:
screenshot_2.png


Anyone running a Gingerbread ROM will be familiar with these screenshots. However, these two lists are combined into one list on Froyo.
 
Set the ignore list up properly? I'll ask this again, how do we know which apps shouldn't be closed or placed in the ignore list?

Suppose you have an app that isn't listed in the ignore list but an activity within that app is being used by another app. If you close the app that is being used the system must restart it from scratch to complete the task that it was trying to complete. If you close it again the system has to restart it again. This app will then appear to be a rogue app that just won't die when in fact the system is doing what it needs to do in order to complete a task. This also creates a situation where the user is battling the system.. wasting system resources.

Those who want to run a task killer can do so, it's their phone. However, as an android developer, I'm saying that a task killer on android does more harm than good.

I've never had my phone need to restart because of that scenario. ATK recommends apps/processes to add to the ignore list and I added Calendar, Ultra Keyboard, Juicedefender, Lookout and txt messaging. And if it closes something that I need to reopen, that is no problem because I am closing 20-30 apps and only need to reopen an app very rarely (a good ratio).
 
And if it closes something that I need to reopen, that is no problem because I am closing 20-30 apps and only need to reopen an app very rarely (a good ratio).

I'm not sure I understand how this is a benefit if you have to close 20-30 apps and then reopen one. Why not just leave those 20-30 apps open, so when you need to use an app, it's already open? It will save time and processing power because you do not need to reload it.
 
You are making two assumptions about how Android works. They are both wrong. (If they were right, what you said is logical and makes sense.)



You accept this statement as if it is a fact. It isn't.

If the system is designed to handle multiprocessing well, then the system will automatically adjust to the "load" you place on it, and the user will not notice any degradation in performance.




This is the second major thing that you have said wrong. (Note: it's not the same as the first thing I quoted.)

Just because an app is loaded into memory does not mean that it's ACTIVE or even DOING ANYTHING. It's just sitting there, waiting for you to ask for it.


Read the post from lunatic that I quoted above. Read it AGAIN and let your mind be open to the possibility that Android is different then you assume it is.


If you aren't able to accept that your assumptions might be incorrect, then trying to educate you on "why task killers aren't needed" is like trying to put toothpaste back into the tube.

Multitasking does not mean it is parallel... in other words, when you add tasks/apps to any mutitasking environment, each task degredates performance unless you have a pallel hardward (which we don't). I know some apps are just sitting there.
 
I'm not sure I understand how this is a benefit if you have to close 20-30 apps and then reopen one. Why not just leave those 20-30 apps open, so when you need to use an app, it's already open? It will save time and processing power because you do not need to reload it.

Because having the 20-30 apps closed gives me a performace boost on the apps that are open.
 
I don't know how you are getting these results though.
If I'm not wrong, cached apps will be onStop state, and when they are needed, they just need to resume instead of invoking onCreate ( load UI, start up,etc...).
 
How do we know which apps shouldn't be closed? 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.

Suppose you have an app that isn't listed in the ignore list but an activity within that app is being used by another app. If you close the app that is being used the system must restart it from scratch to complete the task that it was trying to complete. If you close it again the system has to restart it again. This creates a situation where the user is battling the system.. wasting system resources.

The best practice would be to place every app on the phone in the ignore list. But then you wouldn't need a task killer, would you? ;)

You can still you a task killer to kill open apps even if some will need to be reopened. As I've said, I close 20-30 apps at a time.
 
Multitasking does not mean it is parallel... in other words, when you add tasks/apps to any mutitasking environment, each task degredates performance unless you have a pallel hardward (which we don't). I know some apps are just sitting there.

The man actually said "multi-processing", which is not the same as "multi-tasking". But you are right with the 2nd part, with a proviso - adding apps. does degrade performance but IF, and only IF, they are actually running, and not just cached in memory. Seems you've missed one of the major points that people have been trying to make.

Oh, and as for parallel HW, I presume you mean multi-core phones. Like the HTC Sensation of the Galaxy II maybe.

Dave
 
You can still you a task killer to kill open apps even if some will need to be reopened. As I've said, I close 20-30 apps at a time.
Of the 20-30 apps that you close at a time, how many of those apps are actually running and how many of them are cached in memory? And, how are you making the distinction between running and cached? I'm just trying to help you see something.
 
Status
Not open for further replies.
Back
Top Bottom