MobileManaging Battery Life for Android Devices: Tips for Users and Developers

Managing Battery Life for Android Devices: Tips for Users and Developers

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Today’s smartphones–be they Android, BlackBerry, iOS, Windows Mobile, or otherwise–go a long way towards replacing many of the most commonly used features of your typical computer, navigation system, radio, stereo and television. Expected smartphone features like vibrant, high-resolution screens and high-performance hardware (fast processors, video cameras, graphics chips, and sensors) come at a cost. These devices, which get much of their “smarts” from frequent or near-constant network activity, tend to deplete their batteries much more quickly than many of their less “smart” counterparts, especially when they aren’t optimally configured from a power management perspective.

In this article, we present some tips that both users and developers will find handy from a battery-life perspective. Why are we including user tips here? Well, firstly, it’s a testament to the fact that battery life still comes at a premium–these are tricks users are actually using in the field, and therefore developers should know about them and make every effort to write power-efficient applications and consider testing scenarios. Secondly, developers tend to also be users. So who knows, you might learn something new. Some of these tips apply to all types of mobile devices, while others are very specific to the Android platform.

Android Power Management Tips for Users

First, here are some tips for you, the user, to ensure you get the most battery life from your Android device:

  • Give Your Screen a Rest–The nicer your device’s screen, the more power it requires. Set the screen brightness to auto and your screen will adjust in different lighting conditions and conserve power. Also adjust your device settings so that your screen sleeps after a short amount of inactivity. Finally, make it a habit to turn off the screen whenever you finish using your device.
  • Disable Unnecessary Services–All services–mobile network services, GPS/navigation, BlueTooth, Wi-Fi or otherwise–use power. Disable any services you are not currently using to conserve battery life. Make a habit of using power-intensive services like GPS navigation while charging in the car to avoid draining your battery unnecessarily.
  • Set Longer Application Update Intervals–Many applications, such as email and social networking applications, routinely connect to the network to look for new messages and data. Many of these applications do these syncs at regular intervals, and the intervals themselves are configurable. Setting longer intervals means that when you do want a “refresh”, you may need to force an update on-demand, but your device won’t be connecting hundreds of times a day. Each app is different, so check its settings.
  • Use Push Sparingly–Push technologies enable your device to receive data whenever the application server receives it instead of waiting the interval set to check for new content. Push is handy and powerful for content that is urgent or “need to know”, but it requires your device to be constantly vigilant. Most content is not so urgent that you can’t wait your “update interval” to receive it, or, if you are expecting something, you can just force a manual refresh.
  • Prefer Wi-Fi Over Mobile Networks–Mobile network data connections draw substantially more power than a Wi-Fi signal does. When you know you’ve a good Wi-Fi signal (home, work, coffee shop) then use Wi-Fi for data instead of your mobile network. Not only will this help save your battery life, but Wi-Fi is often faster and the data transmitted does not count against you on your monthly bill.
  • Browse Much? Favor Mobile Sites–Websites optimized for mobile transmit far less data to the device, and this data is easy for your device to process, making less of a dent in your device’s battery life. Fully featured websites with lots of high resolution graphics, animation, Flash, and other “chrome” may make for a more fully featured experience, but expect this experience to drain your battery more quickly.
  • Minimize Camera and Video Use–The camera and video recording features of your device are handy, but remember that, in almost all cases, the device was not optimized for camera features. You can obviously use the camera on your phone, but should do so in moderation.
  • Leverage Airplane Mode–If you know you’re in an area with little or no signal and do not need to make or receive phone calls but want your phone on for other purposes, then use Airplane Mode. A device in airplane mode will often stay charged for a substantial amount of time and you can still enable Wi-Fi (if it’s available). We love to use this feature when we go travel–we can still use the clock, take occasional snapshots, and check email or browse the web/weather on available Wi-Fi for a week or so on a single charge. In an emergency, we could make a call if coverage allowed.
  • Disable Haptic Feedback–Every little bit helps. If you can live without it, turn off your phone’s tactile feedback feature.
  • Install a Power widget–The power widget enables one-touch controls for power-saving settings related to Wi-Fi, Bluetooth, GPS, sync, and screen brightness. Turning off features like Wi-Fi and GPS when you are not using them should help your battery life significantly.
  • Leverage a Task Manager/Killer–The Android operating system allows applications to run in the background. While this makes the device more responsive and powerful, it can have a big impact on battery life if some intensive operation is lurking in the background, sucking away your battery life. Nip this in the bud with a task management app that can kill a process. A task management app monitors running applications and turns them off as it sees fit, or enables the user to kill specific processes. There are lots of task killers available on the Android Market, with the most popular being Advanced Task Killer.
  • Don’t Overclock, Consider Underclocking–Consider this a power user tip, with the typical disclaimers of rooting devices and voiding warranties, etc. Android devices can be overclocked and underclocked. Overclocking may result in a faster device, but it will suck a lot of juice. Underclocking may extend your battery charge, but at the expense of performance. If you need the speed, there are apps that will let you set your phone to only underclock when the phone is not in use, reducing processing power when it isn’t needed anyway.
  • Optimize Your Accessories–If you’ve tried everything and battery life is still a problem, then take a look at your device accessories. Consider having stationary charging setups in the areas you spend the most time (home bedside, work desk, car) Consider purchasing a spare battery if you spend a lot of time unable to charge your device. Try a wired headset instead of a Bluetooth one.
  • Become a Charging Opportunist–Plug in (to an outlet or via USB) whenever you have the chance, even if you have a good charge. Charge whenever you have the opportunity: in a house, with a mouse, on a train, in a plane. These days, you don’t have to worry overmuch about “draining the battery all the way” before recharging. Batteries go bad eventually regardless of what you do, and can usually be found for very reasonable prices on the internet. Better to keep the battery half full than to be at the whim of a low charge.

Building Power-efficient Android Apps

Here are some additional tips for you, the Android developer, to ensure your applications make efficient use of the battery life on a target device:

 

 

  • Follow Android Best Practices, and Coding Standards in General–Acquire resources late, release early, etc. Design responsive, responsible applications. When using power-consuming features, like sensors, graphics, animations, Flash, etc, consider how these features will affect device power consumption.
  •  

     

  • Include Configurable Update Intervals–Many network-driven applications must check application servers routinely for new data. Make sure the intervals at which your application makes such checks is reasonable (not too short) and configurable. Consider adding time windows when updates should occur (e.g. overnight when the device is likely plugged in).
  •  

     

  • Be a Good Service Manager–If your application requires a service to be enabled, make sure you return it to the state in which you found it. For example, if your application turns on Bluetooth services, make sure to turn them back off when your application is finished.
  •  

     

  • Use Shared Messaging Technologies–While you could develop your own polling or PUSH-style messaging queues, using shared technologies like Cloud-To-Device Messaging (C2DM) rely upon a shared message queue, which eliminates the need for your application to provide its own persistent services. Instead, your app can sleep until the shared service used by C2DM wakes your app up. The more apps the user installs, the more important this becomes.
  •  

  • Provide Mobile Versions of Websites– Provide your users with the features they need, in a form that is optimized for mobile transmission and rendering.
  •  

     

    Get the Free Newsletter!

    Subscribe to Developer Insider for top news, trends & analysis

    Latest Posts

    Related Stories