Home » What can I do to increase battery life on my Android device?

What can I do to increase battery life on my Android device?


I played with this for a little while after getting my Droid, and found that there are a few easy things you can do that make a big difference. There’s also a lot of misinformation out there, so you need to do some testing. I get 20 hours of regular use or 16 hours of heavy use.

Note that these are my results on a Motorola Droid with OS 2.1. Your results may vary, particularly if you’re using a different OS version!

  • Don’t use Live Wallpapers. They’re cool, but they eat battery.
  • Don’t use Sense UI. That’s HTC’s home app. Again, it’s pretty, but not friendly to battery.
  • Prefer the back button over the home button. The back button lets apps decide if they want to run in the background. The home screen often leaves apps running when they don’t need to.
  • Don’t use app killers! There’s no need for them if you use the back button, and you’ll end up crippling other apps because of non-obvious dependencies between apps.
  • Use WiFi whenever you have access to a network because it uses less battery than 3G. (Shorter distance, lower power.) Turn WiFi off when you don’t have access to a network, otherwise it will keep looking for a WiFi network it can use (which drains battery).
  • Reduce the frequency at which apps refresh their content. Common offenders are social media clients (Twitter, Facebook, etc.), email, and news or weather apps.
  • Finally, watch your battery usage under Settings -> About Phone -> Battery -> Battery Use. This will show you what has been using the battery since it was last charged. (So it shows nothing while charging!) If anything unexpected is using the battery, consider replacing it with another app or service.

Best of luck, and enjoy your Android phone!

Some of the biggest power drainers: GPS, Wifi, and Bluetooth.

In general, it is best to keep these services off unless you are using them. However, GPS will only be used when an application calls for it, so you could technically leave it on all the time.

Some other tips:

  • Lower the screen brightness
  • Turn off 3G (if you have a phone that you can switch between 3G and 2G).
  • Disable automatic Data Sync or:
  • Set your apps to sync at longer intervals or don’t use apps/widgets that do synchronize often
  • Turn off any unnecessary vibrations or haptic feedbacks
  • Disable the keyboards backlight
  • Avoid using the speakers, opt in for using headphones
  • Underclock the CPU (rooted users)
  • Turn off data completely (using an app like APNDroid)
  • Don’t use task killers to automatically kill off processes. They simply will respawn. Uninstall undesired apps.
  • Use applications like Locale or Tasker to control your phone’s Wifi/GPS/Bluetooth/Sreen brightness/etc. settings automatically with profiles that activate under certain conditions
  • Set your screen timeout to a short time interval. Then use Screebl to keep your phone screen on when the phone is only held at certain angles.

There are so many things one can do I don’t wanna repeat here: Remove bad apps, reduce brightness of your dis… ahem, said: not repeat, OK. But if you think about what you could turn off/down and what effect it offers: There’s a nice table to be found at the German technology site Heise, titled Energiesparplan (Google Translate Version here). They slightly modified a Motorola Droid to be able to get precise data on energy consumption – and ended up with a nice table like this, which already substracts the „base consumption“ and thus gives the data for each component/action.

In July 2012, the same publisher again made something similar with his article Durchhaltetraining (Google translate: Hang on! – this article is available online, but paywalled), this time utilizing the more recent Samsung Galaxy S3; same for the Samsung Galaxy S6 in January 20161 – so I add their values here:

| Action          | Motorola Droid     | Galaxy S3 | Galaxy S6 |
| Video recording |            1557 mW |   1683 mW |  2277 mW² |
| UMTS Upload     |            1410 mW |   1033 mW |   908 mW  |
| UMTS Download   |            1349 mW |   1074 mW |  1138 mW  |
| EGDE Upload     |            1179 mW |           |           |
| Wifi Download   |            1158 mW |    549 mW |  1138 mW  |
| Play Video*1    |            1135 mW |    597 mW |   395 mW² |
| UMTS call       |             983 mW |    637 mW |   362 mW  |
| Camera*1        |             934 mW |   1460 mW |  2335 mW  |
| EGDE Download   |             853 mW |           |   635 mW  |
| BT receive      |             751 mW |    487 mW |           |
| Display (max)   |             730 mW |   1568 mW |  1227 mW  |
| GPS Searching   |             550 mW |    263 mW |   191 mW  |
| GSM call        |             511 mW |    297 mW |   310 mW  |
| BT send         |             487 mW |    454 mW |           |
| Wifi Upload     |             479 mW |    488 mW |   987 mW  |
| Display (min)   |             310 mW |    567 mW |   260 mW  |
| MP3 play        |             160 mW |    153 mW |   140 mW  |
| UMTS Standby    |            18.3 mW |   10.9 mW |  16.2 mW  |
| GSM/EDGE Standby|            11.6 mW |    9.5 mW |    15 mW  |
| Wifi Stdby 2.4  |             7.8 mW |    9.3 mW |    18 mW  |
| Wifi Stby 5 GHz |               -    |   14.6 mW |    20 mW  |
| BT Standby      |             2.8 mW |    1.8 mW |   2.9 mW  |
| GPS Standby     |             0.4 mW |    0.7 mW |   0.2 mW  |
| NFC Standby     |               -    |      4 mW |   0.1 µW  |
| Wifi Tether*2   |                    |    372 mW |   542 mW³ |
| Wifi Tether DL*3|                    |   1254 mW |  1871 mW³ |

*1 fullscreen, already minus the display
*2 Tether active with 1 user
*3 download from notebook via Wifi Tether

As an additional reference, the baseline: Airplane Mode: 6.4 / 6.4 / 10.7 mW.

Recommendation for cold days to get warm fingers: Take your device with both hands, plug in the charger. Now stream a HD video from youtube via 3G/LTE, play it fullsize, and in the background do some video recording which in parallel gets uploaded via 3G/LTE. CAREFUL !!! Wear gloves … #-)

1: calculations used a different base with this third run, so I „rebased“ the values here to match
2: full HD
3: with LTE

Related Solutions

Explaining computational complexity theory

Hoooo, doctoral comp flashback. Okay, here goes. We start with the idea of a decision problem, a problem for which an algorithm can always answer "yes" or "no." We also need the idea of two models of computer (Turing machine, really): deterministic and...

Building a multi-level menu for umbraco

First off, no need pass the a parent parameter around. The context will transport this information. Here is the XSL stylesheet that should solve your problem: <!-- update this variable on how deep your menu should be --> <xsl:variable...

How to generate a random string?

My favorite way to do it is by using /dev/urandom together with tr to delete unwanted characters. For instance, to get only digits and letters: tr -dc A-Za-z0-9 </dev/urandom | head -c 13 ; echo '' Alternatively, to include more characters from the OWASP...

How to copy a file from a remote server to a local machine?

The syntax for scp is: If you are on the computer from which you want to send file to a remote computer: scp /file/to/send username@remote:/where/to/put Here the remote can be a FQDN or an IP address. On the other hand if you are on the computer wanting to...

What is the difference between curl and wget?

The main differences are: wget's major strong side compared to curl is its ability to download recursively. wget is command line only. There's no lib or anything, but curl's features are powered by libcurl. curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP,...

Using ‘sed’ to find and replace [duplicate]

sed is the stream editor, in that you can use | (pipe) to send standard streams (STDIN and STDOUT specifically) through sed and alter them programmatically on the fly, making it a handy tool in the Unix philosophy tradition; but can edit files directly, too,...

How do I loop through only directories in bash?

You can specify a slash at the end to match only directories: for d in */ ; do echo "$d" done If you want to exclude symlinks, use a test to continue the loop if the current entry is a link. You need to remove the trailing slash from the name in order for -L to...

How to clear journalctl

The self maintenance method is to vacuum the logs by size or time. Retain only the past two days: journalctl --vacuum-time=2d Retain only the past 500 MB: journalctl --vacuum-size=500M man journalctl for more information. You don't typically clear the journal...

How can I run a command which will survive terminal close?

One of the following 2 should work: $ nohup redshift & or $ redshift & $ disown See the following for a bit more information on how this works: man nohup help disown Difference between nohup, disown and & (be sure to read the comments too) If your...

Get exit status of process that’s piped to another

bash and zsh have an array variable that holds the exit status of each element (command) of the last pipeline executed by the shell. If you are using bash, the array is called PIPESTATUS (case matters!) and the array indicies start at zero: $ false | true $...

Execute vs Read bit. How do directory permissions in Linux work?

When applying permissions to directories on Linux, the permission bits have different meanings than on regular files. The read bit (r) allows the affected user to list the files within the directory The write bit (w) allows the affected user to create, rename,...

What are the pros and cons of Vim and Emacs? [closed]

I use both, although if I had to choose one, I know which one I would pick. Still, I'll try to make an objective comparison on a few issues. Available everywhere? If you're a professional system administrator who works with Unix systems, or a power user on...

How do I use pushd and popd commands?

pushd, popd, and dirs are shell builtins which allow you manipulate the directory stack. This can be used to change directories but return to the directory from which you came. For example start up with the following directories: $ pwd /home/saml/somedir $ ls...

How to forward X over SSH to run graphics applications remotely?

X11 forwarding needs to be enabled on both the client side and the server side. On the client side, the -X (capital X) option to ssh enables X11 forwarding, and you can make this the default (for all connections or for a specific connection) with ForwardX11 yes...

What does “LC_ALL=C” do?

LC_ALL is the environment variable that overrides all the other localisation settings (except $LANGUAGE under some circumstances). Different aspects of localisations (like the thousand separator or decimal point character, character set, sorting order, month,...

What is a bind mount?

What is a bind mount? A bind mount is an alternate view of a directory tree. Classically, mounting creates a view of a storage device as a directory tree. A bind mount instead takes an existing directory tree and replicates it under a different point. The...

Turn off buffering in pipe

Another way to skin this cat is to use the stdbuf program, which is part of the GNU Coreutils (FreeBSD also has its own one). stdbuf -i0 -o0 -e0 command This turns off buffering completely for input, output and error. For some applications, line buffering may...