How To Optimize Startup and Background Tasks on Android

By Ryan Whitwam

Autostarts promises root users a faster startup. But should you be managing your background tasks at all?

Android offers a robust multitasking interface that, when it works properly, can make these phones a joy to use. Though, there are times that having apps running in the background can be unwanted. One of these times is at startup. The process of starting up an Android phone can actually start feeling like starting up a computer as you install a few apps. Many of the apps that come on the phone, as well as those that you install, have the ability to run themselves at startup or after almost any other phone event. 


Root users can control startup processes

Autostarts is quickly becoming well known for helping users keep their phone running quickly. 

In Autostarts, you are provided with a list of all the possible event triggers on your phone, and which processes are invoked by each. Expanding some of them can be quite eye opening as you see how many things are triggered by seemingly mundane actions. If you check out the After Startup entry, you'll probably see almost every app on your phone there. It might be nice to keep those apps from slowing your boot up. 

Android is capable of managing memory fairly well. If you look in the SDK, there are methods of starting and ending a background process. Android will end apps that it feels are unneeded, and this threshold was lowered in the 2.0 update. We've often found that using standard task killers to much can hurt system stability, but apps like Autostarts will actually prevent to apps from spawning in the first place. Users report that this maintains system stability more effectively than raw task killing. In short, this is MSCONFIG for your phone. 

To control the start up of an app under any circumstances, just find the correct entry, and tap on it. This will bring up a context menu where you can toggle the app on or off. Apps that are set not to auto start will have a line through them so you can keep track of what you've done. The next time you start up the phone (or trigger whichever event you altered), the apps you've turned off won't start themselves. You will still be able to run these apps normally though. Just make sure you don't turn off a service the phone needs to work properly.

This is a very compelling app for root users to take advantage of. It offers functionality that you just can't get without super-user access to the Android system. Because of this, other non-root apps that promise the same thing must go about it in a roundabout way that is ultimately less useful.  

Auto-killing apps

This is another method of controlling which apps run in the background. Often, these task managers are positioned as a way to streamline your startup. Examples of apps that falls into this category are Startup Auditor and Startup Cleaner. What you're basically looking at here is an aggressive task killer. These apps just know to look for a specific process (or processes) starting up, and kill it. The speed increase is not nearly as significant as if you had just stopped the app from starting up in the first place.  

longer boot if you kill the wrong things. 

Many standard task killer apps also offer auto kill functionality that isn't necessarily connected to the startup process. We have occasionally used ProcessManager as it is a very polished app. This app will offer the ability to kill processes automatically at intervals. You would set up an ignore list of apps you don't want killed, but everything else not in use would be ended. A smartphone is a resource constrained environment, but we've never found this sort of aggressive process management particularly useful.

Is there a place for manually killing apps?

SystemPanel app, we can monitor CPU usage by individual apps. The vast majority of background processes are not pulling any CPU time. When they do, it is minimal. 

But we still like to have task killers around because there are those times when an app is misbehaving. Instead of digging into the Android Running Services menu, it's easier to just use a task killer to end the process. As mentioned earlier, a low-end phone may benefit from the manual killing of apps that take up a lot of resources. For example, ending a game that is running in the background could be a reasonable course of action on these phones. 

It can seem counter intuitive that all those apps running in the background should be left alone, but the vast majority of the time, that's the case. Frequent killing of processes is usually unnecessary. If you're phone has a particularly small amount of RAM, perhaps the ending of a particular resource hog isn't that bad of an idea. In general, you should avoid large-scale killing of processes. 

Using an app like Autostarts to manage you startup is, however, a different matter. This is an app that isn't so much killing apps, as it prevents them from starting in the first place. This means no worries about system stability, and you can actually speed up your startup. Have you tried to streamline your Android phone's startup? Let us know if you've used Autostarts or another method. How do you feel about the use of task management apps on Android?