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

Task Managers and your Hero

I have to agree with kronium. I read this article and I was like "wow... now I understand." So I stopped using my task killer. And I started experiencing more laggy behavior from the interface. For example, I'll be in the Phone app (which you would think would extra special super priority over other apps) and experience lag tapping the keys. Or I'll be flipping through the People app looking for contact information and experience major lag when changing which information tab under a contact displays. If I kill the extraneous tasks when this happens (e.g. Browser, The Weather Channel, Facebook) then everything is bright and snappy again. I can't disagree with the original post, which was excellent, BTW. But my perceived experience on the Sprint Hero suggests that the task killer can be useful.


As romeosidvicious says, your issues will be due to some dodgy apps running in the background or too many apps sets to auto-update. I don't experience any of the problems you describe.
 
Upvote 0
Thanks for the post romeosidvicious. So, I'm willing to do some troubleshooting. Which apps do you recommend to help with the troubleshooting process? I have a Sprint Hero that isn't rooted.

Tell you what I'll write up something today and hopefully post it this evening about how to troubleshoot this stuff on a phone. But TF1984 is right: Spare Parts is a good place to start. MOST of the badly behaving apps I've seen stay awake along with leaking memory so it's a good start.

Another common issue IS an HTC issue but not an Android issue having to do with HTC's location service (which is removed in the latest fresh ROM for this reason).

Location services are causing multiple "heartbeats" on the phone all on top of each other. One guy counted as many as 253 in 5 seconds. This consumes the CPU.

Google Code Bug Report
Discussion on PPC Geeks

So there's a starting point and I'll get something typed up on how to troubleshoot slowness issues and posted this evening.

I do want to add that I don't doubt people are seeing slowness and I never have. I just believe it's usually not memory related. I failed, and need to edit the OP to reflect this, to note that badly coded apps can eat the CPU up without using much RAM at all and cause slowness. I could probably write an app to do just that as proof of concept. Anyway back to work...
 
Upvote 0
I may tack this on to the OP and for now it's a work in progress:

Troubleshooting phone slowness.

Based on the OP I can assure you that memory is the least likely cause of slowness for your phone. The huge letters reminding you that you are not running a Windows Mobile device should say enough. The OP goes through some of the technical details of Linux, and therefore Android, memory management but it doesn't talk about the things that can cause your phone to slow down. Maybe I was a little myopic in the OP so here is an addendum which I may add to the OP later that talks about why your may have slowness on your Hero and how to troubleshoot the issue. I have tried to aim this towards the non-rooted phone but the same steps apply to rooted phones as well.

Things to remember:

1. The phone is always slow when booted because it's processing every single thing in startup. You can't edit this so you have to wait until everything has started, updated via the intertubes and so on. You can mitigate this by having fewer widgets that access the intertubes for information because when you boot all of them want updates.

2. The number of apps you have showing up in your task manager doesn't matter one single bit. You may think it does but it doesn't. Get this out of your head before you start troubleshooting.

Troubleshooting slowness on your phone:

First we have to understand why the phone could be slow. Since we aren't in the Windows world then memory is not the first place we look. It could be memory but chances are good that it is not so we won't even look at a task manager during troubleshooting.

I assume you have had your Hero for a bit and installed a bunch of cool crap from the Marketplace mainly because that's what I did and everyone I know did. If you are reading this before you have installed anything then you are in luck because I can give you the best advice in the world. Don't install more than one thing at a time! If you already have a ton of apps and can bring yourself to do it then factory restore your phone. Most of you won't like this idea so we'll work through troubleshooting without it. But if you fall into the category of not having apps coming out of your ears already jsut install one thing at a time, let that one thing run for a bit, and see how it affects your phone. If your phone was fine and last night you installed Panty Raid for Android (a funny name for a fake app) then this morning your phone is slow don't go get a task manager! Just uninstall Panty Raid and reboot your phone and the problem SHOULD be gone. If you install all of your apps like this you will end up with a core set of apps you know don't screw with your phone. Do updates the same way and you should never have to troubleshoot much of anything.

So what actually makes an Android phone slow? I have found two major culprits, well actually one but it makes sense to address them as two, and those are CPU and Data. If an application is hogging the CPU then no other process can get to the CPU and they all sit there in the queue waiting to be processed and making the phone slow. Imagine a line for a roller coaster, a one seat roller coaster, and on the coaster is a bully who won't let anyone else on until he feels sick then one or two people can slip on but as soon as he feels better he's right back on the coaster. The line would move slower than molasses in January! That's pretty much how the system processes things. Normally apps are nice (inside joke for the geeks) and there aren't any issues because they all share processor time back and forth. But if an app gets out of control then it's eating CPU cycles and not leaving any for anyone else.

Data is sort of the same way. The pathway across which the system transfers data is not very big. I won't go into technical details here because they are boring but transferring data involves system calls across a small pathway and having the CPU process the bits. Normally this isn't a big deal since apps don't deal with large data chunks on a phone however apps that manage things like mp3 libraries, hi-res wallpaper and things like that can cause slowness. This is especially true if they scan the SD Card for changes which, at that point, is utilizing two different data pathways and the CPU. Toss in networking with this app and you have an app that can make your phone a sloth. You add in the networking stack, regardless of whether or not it's REV1, REV0, or WiFi and your just adding more CPU time and other pathways into the mix. So even with a well coded app anytime you are moving around data, regardless of the source of the data (SD, WiFi, and so on) your phone will slow down noticeably but this should be a temporary slow down. Notably if you get a lot of email and check your email every 15 minutes and have 3 accounts you could almost cripple your phone.

So with those explanations out of the way, if you are still with me, let's start troubleshooting phone slowness.

Tools:

Go download spare parts from the Market. Spare parts is your friend. It won't help you right away as you need to let it gather data but it will help find bad apps. If you are the patient type install spare parts, reboot your phone, and come back in a couple of hours.

Troubleshooting:

  1. - Check your awake time: Main screen -> Menu -> Settings -> About Phone -> Status: If your awake time is high then you likely have an app that's not behaving properly. Now let's figure out what app that is.
  2. - Load up spare parts and see if any apps are keeping your phone awake. (If you aren't the patient type skip to step two). Check the following:
    • - Battery History -> CPU Usage: If you see an app you aren't "using" a lot with high CPU usage you may have found your culprit.
    • - Battery History -> Partial Wake Usage: Nothing should be high here at all. Partial wake is like when the weather app updates and then goes back to sleep. If you have high partial wake from an app it's doing a lot while you are not using it.
  3. - Widgets: Turn off any widgets you don't need. Widgets update and keep caches. If you have a dozen widgets that all update on a regular basis then you will see slowness if more than a couple of them try to update at once. See the explanation above on data being the cause of a slowdown. Uninstall any widgets you have downloaded and are not using.
  4. - Applications: If none of the above has led you to a conclusion and your phone is still slow then it's time to start looking at apps. The only real way to do this is one at a time. Don't update your apps before you start this because you may introduce new issues. This is a painful but easy process. Every app you installed needs to come off your phone one at a time. Uninstall the app, reboot the phone, let it run for a while and if the slowness comes back move on to the next app. Do not re-install apps between these tests. When you get to a point that your phone isn't slowing down anymore then you can start adding apps back in. Do this one at a time and give it enough time to actually show problems before installing the next application or you will never find the problem you are looking for. This is a tedious process but your patience will pay off.
  5. - Task Manager: As a last resort you can grab a task manager and kill processes to see what's slowing up your phone. Don't kill everything or you'll not find the source of the problem. Don't pay attention to the amount of free RAM because it's truly not relevant. Kill your running apps one at a time and see if your phone gets faster. You may notice some pop back into the list. Don't kill them again but do give them a few a seconds to actually load up and not be using the resources it takes to start an app (see the reason above regarding your phone being slow on startup).

Without root that's about all the steps I can think of to track down slowness issues. Remember in your own troubleshooting that RAM isn't slowing down your phone or affecting your battery. It costs the same amount of battery to write to a memory space with data already in it as it does to one that's empty. In fact erasing stuff from memory takes battery power so it would drain your battery more to "empty" memory space when it's not necessary. What you are looking for is what is hogging your CPU, Network, GPS and so on. Ignore the free memory number altogether because it doesn't have the meaning that it does on Windows systems.

Please feel free to ask me questions. I want to tweak this before I add it to the OP. So hit me up. I can't promise a fast response but I will respond! And thanks to Tisnatch for asking. it made me realize how much tunnel vision I had in writing the initial diatribe. :)
 
Upvote 0
Awesome thread.
I get it now with the whole Memory vs CPU utilization.

As for active monitoring of cpu utilization what it the best app for that?

I've got a Samsung Moment. There does not appear to be the same menu option in settings>applications.. there is nothing to show apps running.

One reason i'm concerned is that I was running an instrument tuner app and it had a pop-up that mentioned another app hogging the cpu.

Thanks for your help.

TK :)
 
Upvote 0
IIt costs the same amount of battery to write to a memory space with data already in it as it does to one that's empty. In fact erasing stuff from memory takes battery power so it would drain your battery more to "empty" memory space when it's not necessary.

With dynamic ram, aren't you using your battery more when it's filled up? Capacitors have to keep refreshing right?

Also, if available ram isn't a good benchmark, why does my phone always slow down when it reaches the 20meg available mark? Granted it's obvious that the more apps running in the background, the more taxed your cpu becomes.

I feel that using a task killer is so much easier than going through the steps of curing a bogging phone. Not to mention being able to kill everything on bootup. A necessity for a speedy phone right off the bat. With no ill effects to date, and a constantly zippy phone, I just don't get your argument. I understand what Linux is trying to do in the background, but who's to say it's the right way? Especially when a battery comes into the equation...
 
Upvote 0
With dynamic ram, aren't you using your battery more when it's filled up? Capacitors have to keep refreshing right?
RAM behaves in exactly the same way whether it's filled or not. It doesn't affect your battery life empty or full.

Also, if available ram isn't a good benchmark, why does my phone always slow down when it reaches the 20meg available mark? Granted it's obvious that the more apps running in the background, the more taxed your cpu becomes.
Well you answer your own question. On your phone, whatever you are running, starts taxing the CPU when you see about that much RAM in use. It is likely a single app causing the problem but as you point out in the next paragraph you don't want to bother figuring it out. My phone runs, without a task killer, for days. It runs until I forget to charge it.

I feel that using a task killer is so much easier than going through the steps of curing a bogging phone. Not to mention being able to kill everything on bootup. A necessity for a speedy phone right off the bat. With no ill effects to date, and a constantly zippy phone, I just don't get your argument. I understand what Linux is trying to do in the background, but who's to say it's the right way? Especially when a battery comes into the equation...
Well you are affecting your battery whether you realize it or not. When you kill some of those apps they start back up automatically which uses CPU time to get them to their sleep point and CPU does affect your battery. If you don't think the Linux way of handling memory is right then switch to a WinMo phone where a task manager is a necessity. Your post essentially says you are too lazy to track down what's causing your phone to slow down so you use a task killer. Good for you. That's not the way your phone was designed to work which is why the task managers are third party. I have a zippy phone all the time and I don't have to worry about the task killer side of things. You can do things your way or the way the phone was designed to be used. One way is definitely right and the other is you way. Both will work but I know which one will work better long term.

As to my argument. I present no argument at all. I simply state the facts on how your phone is supposed to work. They aren't debatable points. The only debate is whether or not you want to find out what app is not acting like its supposed to act. You can use a task killer all you like but it's not the way your phone is supposed to perform and that's just the fact of the matter at hand. Developers are great most but all of us make mistakes and when we do things don't work like they are supposed to work. Your answer is to kill running processes, some of which will start back up and eat your CPU and thereby use battery life. My answer is to figure out which developer made a mistake and remove the mistake. I think it's obvious which is a better path.
 
Upvote 0
Yes, I am lazy. As probably 95% of Android users are when it comes to uninstalling apps one by one, waiting, and then reinstalling them one by one. How many people not on this board would actually do that? Also, what happens if you really need that "dodgy" app on your phone? Would you recommend a task killer then?
're already taxing your cpu and battery without even running any additional programs.

And what about killing startup apps? That's crazy that the OS even loads all this stuff on boot. By your reasoning, you're already taxing your cpu and battery without even running any additional programs.

Most killed processes will not start back up on my Hero, so that's not an issue for me. I understand your right way of doing things argument, but I download a lot of apps. I just don't have the time to constantly find out what app is causing a problem, and then live without that program. For me at least, the "right" way is not the better way.
 
Upvote 0
Yes, I am lazy. As probably 95% of Android users are when it comes to uninstalling apps one by one, waiting, and then reinstalling them one by one. How many people not on this board would actually do that? Also, what happens if you really need that "dodgy" app on your phone? Would you recommend a task killer then?
I already do in my posts here. I recommend just that. I even say I have one installed. Although since I consolidated all my Google accounts under one and it's not the one I was using for market I didn't go with the paid version. But I have a task killer installed and freely admit to using it to kill badly behaving apps.

But the thing you admit to, at the first of this paragraph, "I am lazy" and then apply to 95% of users I believe not to be true. However my point still holds even if you are correct. I believe people are ignorant of the way Linux works and have been trained to use specific things, like task killers, by years of bad programming and bad OSs. So I am trying to educate people and nothing more. The average user doesn't know that, in general, a task killer isn't needed and only truly needed when you get a bad app. The average user also doesn't know that killing every running process will have negative affects on your phone. You kill off time and you might miss alarms. You kill messages you may miss incoming text messages. You kill Sense you get a pop up you might not understand. This is proved by the plethora of threads where the solution was "stopping kill X with your task manager". So why argue against giving knowledge, correcting misconceptions, and argue for improper use and laziness? It honestly makes no sense.

And what about killing startup apps? That's crazy that the OS even loads all this stuff on boot. By your reasoning, you're already taxing your cpu and battery without even running any additional programs.
The boot slowness is a very brief slowness that leads to increased performance. Whatever is resident in RAM and whatever apps are sleeping in the background after boot is accessed much faster and increases performance. You can't kill the startup apps fast enough to gain an increase in battery that a human would notice so all you gain is initial speed coupled with an overall decrease in performance and no noticeable gain in battery life. If this trade off is what you want then by all means do what you are already doing.

Most killed processes will not start back up on my Hero, so that's not an issue for me. I understand your right way of doing things argument, but I download a lot of apps. I just don't have the time to constantly find out what app is causing a problem, and then live without that program. For me at least, the "right" way is not the better way.
A lot of killed processes start back up. Look around for Sprint Navigator and you'll see people asking over and over why it started back up. Even if most don't on your phone the ones that do are using more battery than all of them if they were sleeping. You are decreasing your performance by not having apps sleeping in he background that aren't using CPU time but have chunks resident in memory and decreasing your battery life by having the CPU taken up as apps restart. Even if it's simply apps like the clock, which will restart, it uses less CPU to leave it running.

I understand you think that troubleshooting and using the phone the way the developers intended it to function isn't the best way for you. In my opinion you are sacrificing long term performance and stability for short term convenience and arguing that others should do the same. Why argue against someone sharing time and knowledge that will help others? It seems like you want validation for doing things the way you do them. I can't provide that for you. You present no technical reason whatsoever for the way you do things. Your reasons are that you are lazy and can't be bothered and neither of those are considered to be virtuous qualities. You don't have to follow my suggestions. No-one is holding a gun on you making you take the advice offered here. You can continue to do things the way you see fit. But why try to argue against valid technical point with what amounts to: "I don't want to"? I understand you will keep doing things your way and no-one can convince you otherwise but what I don't get is why argue against doing things the right way? If you have technical knowledge you wish to share then by all means please do but if you want to validate "I am lazy" then please don't hijack this thread any further with a non-technical debate.
 
Upvote 0
Romeosidvicious, I respect your grasp of the Linux os. All I'm saying is that my phone works better with a task killer. If you properly set up your ignore list, you will have no problems. You will have a faster phone and great battery life. Unintalling apps and being forced to live without them, is simply not an option for some people. Using a task killer on a regular basis is a viable alternative that works great for a lot of people.
 
  • Like
Reactions: flailer
Upvote 0
Romeosidvicious, I respect your grasp of the Linux os. All I'm saying is that my phone works better with a task killer. If you properly set up your ignore list, you will have no problems. You will have a faster phone and great battery life. Unintalling apps and being forced to live without them, is simply not an option for some people. Using a task killer on a regular basis is a viable alternative that works great for a lot of people.

I never said that it wasn't. I have said, and it's accurate, that it was not the way the phone was intended to run or be managed. But by your own accusation 95% of phone owners are lazy. Setting up your ignore list properly is something else they will need to learn which was my point. Most people won't bother to even learn that honestly. The people on this forum are different from the average user. The original point of the post was to show that, out of the box, a task killer isn't a necessary piece of software and I think I did that. A lot of people treated their phone just like it was a WinMo device out of the box and had no clue why their phones didn't work right so I wrote this up. Check the threads and you'll see there a ton of people who report better performance after ceasing to use a task killer. The OP explains why. I was asked how to troubleshoot slowness so I wrote up the information. I didn't intend to have a troubleshooting section but it seemed like a logical next step.

There are people around who want the best performance out of their phone and to get that you need to troubleshoot apps and not just kill all non-essential processes and those are the people who will bother reading the whole of the OP. Those concerned with expediency won't make it through the whole post most of the time. If expediency is what you want then by all means do it your way. I am not trying to convince you otherwise to be perfectly honest. If there is an app that's badly coded that you can't live without then by all means keep it. I am not trying to change your mind about it. The information here is for those who want it.

I honestly don't consider using a task manager to be a viable alternative to actually troubleshooting the phone. It's not the way things were meant to work. It's not the way the phone was designed. It's not the way get the maximum performance out of your phone. It's not the right way. Right and wrong are not subjective values. Your way may work for you and good on ya' for that but there is a right way. Your way seems, to me, like saying you set Windows to kill that virus when it tries to run rather than actually cleaning the virus. Or like saying you are fine with rebooting your workstation because something has a memory leak and you don't want to bother troubleshooting the issue. Your way may be good enough for you but it's the not the way things were meant to work. Doing things the right way will save you headaches in the long run. Sure your way works now but what about when you get seven or eight misbehaving apps and two of them restart automatically? At that point you have no idea which apps are causing you problems, you are auto-killing once an hour or more, and your battery life sucks. If you had done things the way that the designers intended to begin with you wouldn't be in that situation.

By all means keep doing things your way. I don't care one way or another. But I will not admit it's a technically viable alternative to actually troubleshooting your phone's issues. It's your phone and you can use it how you want to use it. Just don't present personal preference as a viable alternative to the technically correct way of doing things. I can write a diatribe on why the method you use will not work long term if you really want to see it. I can show exponentially decreasing performance, memory leaks that don't mark RAM as safe to use without a reboot (task killers won't fix that) and probably even come up with some math on battery life if I needed to. You have your personal preference and I am not trying to change that. I am merely presenting the correct manner in which to get the most performance out of your phone and really not understanding why you want to argue about it.
 
Upvote 0
I was using a taskiller to kill every app after i was done but after not using it the last few days i don't think it was actually saving me any battery life. Now i use it for those pesky apps that don't close right, like a few i've had leave the GPS on and active after exiting killing my battery. Comes in handy for those.
 
Upvote 0
Major props, Romeo! I am exactly the type of user you wanted to educate. And you did! I came from a WinMo phone and even BEFORE I got my Hero I read a online review where the reviewer said the first app I should download is a task manager/killer as Android didn't come with one. I thought it was strange that the OS didn't just come with one (again WinMo background), but the argument sounded somewhat sane, so I downloaded TaskPanel. (Wish I had read this first.) And yes, I was watching the memory usage and task list daily horrified as to why I was having to kill all these processes several times a day. I wasn't even experiencing any slowness as I didn't have the phone long enough to know if it was slow or not.

So when I started missing text messages and voice mails, I regretfully thought the phone was going to have to go back. This is the first posting I've read where anyone has actually EXPLAINED how the phone and OS are supposed to work and the proper use of a task manager as opposed to the "just get one and kill" approach.

And your explanation makes perfect sense to me. So I removed TaskPanel (I still have Astro which allows me to kill if I need to) but I haven't needed this feature and the phone works amazingly well and fast like it should.

So I just wanted to say thanks again for taking the time to post this information and that your efforts are really appreciated by Android Neophytes like myself.
 
  • Like
Reactions: flailer
Upvote 0
romeosidvicious,

Thanks for this thread and your follow-up post. REALLY educational to people like myself who are simply ignorant of Linux OS and are new to Android. Hell I didn't even know Android was Linux-based. Very interesting indeed. Coming from a Windows mindset (never had Windows Mobile, but have used Windows OS all my life... just recently purchased a Mac also and am LOVING it) it is hard to think of any other ways to deal with memory issues. Pretty much only Apps I kill now are Apps I open manually (stupid shit like Magic 8-ball, any games, Movies, etc.) and the Browser when I don't want my last visited page to show up upon next launch.

I do have a question regarding Spare Parts though. You wrote the following:

  • - Battery History -> CPU Usage: If you see an app you aren't "using" a lot with high CPU usage you may have found your culprit.
  • - Battery History -> Partial Wake Usage: Nothing should be high here at all. Partial wake is like when the weather app updates and then goes back to sleep. If you have high partial wake from an app it's doing a lot while you are not using it."
When I check the aforementioned (both CPU Usage and Partial Wake Usage) using Spare Parts what I see has the most usage is "Android system". That said, it's not even A LOT of usage judging from blue color bar which I assume means % of usage (it is about one-fifth full). Any other programs listed are just 'standard' programs such as Mail and Browser and they have NO color bar detailing usage at all. Just want to know if that's normal or what?
 
  • Like
Reactions: flailer
Upvote 0
Hi Romeosidvicious...

After following your how to I came up with the following:

waketime.jpg


The partial wake usage of "Android System" looks high to me, do you agree?

If it was just a normal market app then i'd install it but what can I do about it if its part of the os?

Thanks
 
Upvote 0
Hi Romeosidvicious...

After following your how to I came up with the following:

The partial wake usage of "Android System" looks high to me, do you agree?

If it was just a normal market app then i'd install it but what can I do about it if its part of the os?

Thanks

I don't think it's too bad. I'd say it would all depend on your usage. I mean, I'm at 43% awake over 18 hours of up time, but my Android system partial wake usage appears much lower. The only reason it's awake that much is because I used it quite a bit yesterday, and the only time I let it sleep was while I was sleeping.

I think your partial wake usage appears high because no matter what you're doing, the android system is running. I don't think I'd worry too much about your uptime and partial wake usage, unless you're getting terrible battery life.
 
Upvote 0
Well, here's proof that Android automatically manages memory by killing unused background applications. And how you can adjust these settings yourself using nothing more than already documented settings in the kernel! :)

How to configure Android's *internal* taskkiller - xda-developers

Keeping these settings after a reboot seems to require a custom ROM, though.
 
Upvote 0
That is the nice thing about the Peak Memory Usage program. It shows you the running processes and the importance. This is really useful information, you can see what processes are considered for cleanup. That was a great write up but I dont have my phone rooted so I use the Peak Memory Usage app to see and kill processes
 
Upvote 0
I appreciate your description of Android memory management, but what you describe does not match my experience. My Hero (Android 1.5) routinely suffers from lag: 1 second or more to switch between desktop screens, non-responsive scrolling, etc. This is with only stock apps installed, minimal widgets, long after boot-up.

But if I kill a big process - say, the browser - everything is fast again. I can duplicate this experience several times a day, so I don't believe it's just a coincidence.

I'm hoping the Android 2.1 update will resolve this issue, because as it is, I find this phone to be incredibly frustrating.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones