* Please note that this guide was written for the Android 2.0.X platform, and not for pre 2.0 (1.X) or post 2.0 (2.1).
Background
The Google Android mobile OS is both an extremely powerful and very flexible platform for a variety of smartphones. For the past few months I have been using the Android platform via the Motorola Droid on Verizon’s network carrying Android 2.0, and overall I’ve been very pleased since my switch over from Apple, and their iPhone products. However, with Android the power and flexibility comes at a bit of a cost.
Part of the advantages of the Android platform is in it’s ability to multitask, and the variety of software that can be installed due to Google’s fairly open Market for applications. But, with the multitasking arises a problem: a lot of the applications you install, which are admittedly great, can wind up running both in the background, and / or loading during your phone’s start-up automatically. This results in your phone quickly becoming bloated with background processes that can not only slow down the operation of your phone, but also drain it’s battery faster. This is very similar to a desktop PC, where you should watch what you install on the PC, and what runs in the background.
This is the caveat. There are a lot of users that don’t want this level of complexity with what some may consider to be simply a ‘phone’. This is why — in my opinion — the Android platform caters more towards ‘techies’, or power users. Users that want a simpler experience, and don’t care about multitasking, should just stick to something like the iPhone if they’re looking for a smartphone / media phone hybrid. That said, for those that have a bit of patience, and are willing to master the platform, Android is the one to go for.
I wanted to put together a guide with my personal experiences so far in tackling the problem of memory management, and what tools I’ve found to be useful.
Watch What You Install
First and foremost: while there are a lot of useful applications available on the Android Market you should still be reserved when installing a ton of applications on your device. Even the best applications available on the Android Market can automatically set themselves to either run on your phone’s start-up, and / or run when certain conditions are met (i.e. network access changes). Sadly, there were some amazing apps that were so obtrusive in this sense that I’ve had to uninstall them altogether, or switch to alternatives (yes, I want complete control on what is running).
After you’ve chosen your applications, and install them, use the menu button on your Android device and get to know the app. Specifically, a lot of applications have configuration options or preferences available from the menu button, and you may find that these applications have their auto start preferences right there so you can manage them directly. Also, related to the configuration of these apps, you should also keep an eye on the notifications these applications offer. Along with having a dozen apps running in the background you can also have a dozen apps spouting out constant notifications as well from your home screen notification tray, most of which you might not even care about.
On a final note here, try to install just one application for a particular role — such as a Twitter client — to prevent ‘double notifications’, or unnecessary resource consumption on your Android device.
Using a Task Manager
One of the first things to do once you start using your Android smartphone is to install a Task Manager. These applications will allow you to both monitor what applications are running in the background, and kill any unwanted processes. Some of these may even carry additional functionality, such as the ability to uninstall applications easily, or looking at core Android system processes (although in a lot of cases I wouldn’t mess with these).
While these Task Managers alone won’t stop applications from starting themselves back up again (covered below), it is an excellent way to get an idea of what applications are running in the background constantly. Even more importantly, they will also allow you to kill any unwanted apps from running in the background on a on-demand basis, most commonly when you are ready to put the phone down for an extender period of time (at work, school, driving, etc.), so that your battery doesn’t get eaten up.
Luckily, there are plenty of Task Managers available on the Android Market to cover this need. While there are several available, my current favorite is simply called ProcessManager. This application includes all the functionality mentioned above, along with the ability to manage some start-up applications (not all), and a neat widget you can put on your Android Home Screen to quickly see what is running in the background, or kill apps en masse. As mentioned, there are some other great apps too like Advanced Task Manager that are available, so I would encourage everyone to check out the selection for themselves before making a decision.
ProcessManager Screenshots:
ProcessManager Install (QR Code for Bar Scanners):
Manage Applications Starting Automatically
Once you have a set of applications installed you may find that after familiarizing yourself with their functionality you may not see any ‘load on boot’ options, or something similar. Despite this, if you install a good Task Manager you may find various applications running in the background eating your memory, and draining your battery life.
This is where running a 3rd party application comes into play to manage both your start-up applications, and applications that run when certain conditions are met on the phone. However, currently managing your start-up applications is a bit limited, in the sense that there aren’t many applications to do this, and you have to root your phone in order to get access to the full listing of applications that load automatically in the background. Personally, I’d rather see this functionality be part of the default Android OS (similar to msconfig in Windows), but that’s neither here nor there at this point, since it isn’t included.
To root your Android 2.0 device, please see the following:
After your phone is rooted the main application I would recommend at this time is called Autostarts, and it is available on the Android Market for about $1 USD. This application will not only allow you to manage ‘on start-up’ applications, but also applications that start when specific conditions are met on the phone, digging deeper than the other applications on the Market that have this type of functionality.
Updated 02/02/10: Previously there was a ‘bug’ with this application on the Android 2.0 platform (Moto Droid) that causes the app to soft hang when disabling an application. Recently, the developer has released a newer version with some bug fixes, and states in the application that the issue can be worked around by enabling USB Debugging in the Application > Development options within your phone settings.
Autostarts Screenshot:
Autostarts Install (QR Code for Bar Scanners):
In Conclusion
As originally mentioned, this may all seem like a lot of work for just a ‘phone’. However, today’s smartphones are different animals altogether, and the line in-between a full blown computer and portable computing devices is becoming increasingly blurred as the technology advances. The bottom line is it all boils down to what your needs are.
Personally, the Android platform fits practically any need I could have ever wanted in a personal smartphone up to this point, and the Android OS is absolutely fantastic. Granted, this is subjective, and micromanaging a phone might not be everyone’s cup of tea, but for power users I feel that it can be an extremely valuable tool in your daily life, when managed properly.
Finally, this is not about completely locking down your phone and turning it into some sort of application concentration camp. This is about giving you control on what you want running in the background. With the flexibility and multitasking Android OS affords you it’s one of the caveats of the platform, but one where the ends justify the means with application management.




