Saturday, June 2, 2012

Adventures in Battery Problems - Part 1

Part of the problem with Android is the battery life generally leaves something to be desired. In my iPhone review, I stated that one of the features I liked best about my iPhone was the crazy good battery life. So far living with the HTC One X has been a nightmare as far as battery life is concerned. I was barely getting half a day of use with just under 4 hours of screen time before the battery was totally dead. Even more troubling, the phone draws so much power while in use that if you use it while plugged in the battery can barely charge.

This is part 1 of my struggle to get the HTC One X to last an entire day.

My research shows that there are seven main things you can change to try to improve battery performance:

  1. WiFi:
  2. Bluetooth
  3. GPS
  4. Auto Sync
  5. Brightness
  6. ROMs
  7. Battery Cycling

On the iPhone, it is my experience that the 3G radio drains the battery faster than WiFi, therefore I would leave the WiFi on at all times. On the HTC One X I'm not so sure. I'm still running tests on WiFi vs. 3G, and its not like I have a lab or something to prove my findings, but so far it seems like turning off WiFi and always using 3G instead saves battery.

Bluetooth is something I normally left on all the time on my iPhone. The battery did drain about 10-15% faster while on and if I knew I needed the battery to last a long time I would turn it off. With the HTC One X, like WiFi, I also can't really tell how much bluetooth affects the battery.  Some tests online say that the Bluetooth 4.0 drains the battery around 5-10% faster than if it was off, and this feels about right with normal usage.

Now we are really getting into the bad stuff. Location Services on the iPhone is something I always left on and controlled app to app. The "backgrounding" multitasting of the iPhone seemed to handle keeping GPS use in check if I switched apps to something that didn't use GPS. In other words, apps that used my location didn't seem to ask for a GPS location while in the background. On Android, I guess it's "superior" multitasking is allowing GPS to be accessed more frequently. Things like Google Latitude were seriously draining the life out of my phone, even while it was in deep sleep. The funny thing is, my wife installed Google Latitude on her iPhone and it has much the same effect even if she killed the app entirely! This is caused by Latitude's location service that installs with the App and is always running. In any case, without more research into the particular battery draining apps, I have opted to leave GPS off entirely on my Android to avoid this issue. This has very noticeably improved battery life. However, I find it kind of sad that on a device where everyone talks about the maps integration, I basically have to disable it to get any kind of reasonable battery life.

When I saw the Auto Sync button on Android I kind of laughed. What is this? On the iPhone I don't even think about this most of the time. Turn off push notifications entirely? Why would I need to do that? Sure, I know where the option is to turn it off, and I have turned off particular apps that were annoying the hell out of me, but why would I need to turn this feature completely off? On Android, nothing was draining more battery life than Auto Sync. I don't know why or what is going on, but Auto Sync made the difference between all day usage and burning out before lunch. To make sure the comparison of the two was somewhat fair, I ensured I had no additional services on my One X turned on. Other than the usual Twitter, Facebook, and Email, there are additional Google services turned on on the One X and additional Apple services turned on with the iPhone.

In the battery monitor of Android, the screen was consistently #1 in the list of battery usage. However, I felt like the one thing I wasn't going to sacrifice was the amazing looking screen of the HTC One X. As a compromise, I kept the screen at just over half brightness at all times. As expected, this saves a lot of battery over maximum screen brightness without sacrificing too much in image richness.

In an attempt to squeeze as much battery life as I could out of the phone, I tried several ROMs available from XDA Developers Forums. Of them, my favorite was LeeDrOiD One Xtreme. If you follow the link to LeeDrOiD, you can see a list of tweaks applied by the ROM in an attempt to improve battery life. Unfortunately, in practice I noticed no appreciable difference in battery life. Still the ROM and the theme were fun to play with and some of the tweaks (like the three dot remover) were much appreciated!

Battery cycling is something I have done about once a month on my iPhone. It's pretty simple: just use the phone until the battery is completely empty, leave it dead and turned off for a while (I leave mine dead overnight), then recharge fully. I also recharge the phone while it is totally off, so there is no battery drain at all while it charges. This process isn't really changing how much power the phone draws, but how efficiently the battery charges up and how much it can hold. It felt like I gained probably 20% more battery life by doing this simple process.

However, all this aside, the most frustrating problem about the battery situation is that plugging the phone in to charge it barely charges at all while plugged in. I could tolerate all the battery drain issues if the phone would just charge quickly! With my iPhone, around an hour of being plugged in while on in its normal state (with WiFi, 3G, GPS, Bluetooth, everything ON), it would charge more than 50%. With my One X, the phone seems to draw so much power, even when not being used, that plugging it in will only gain you approximately 10% battery life, maybe less. This is probably due to the overall higher battery usage of the One X and the fact that it has a 350 mAh larger battery. Using a tool called CurrentWidget I was able to get a log of the battery usage while the phone was asleep. What I found was that somewhere between 200 and 400 mA were being used every minute. I don't have all the math or statistics for this, but it seems like this higher power draw of the phone doesn't leave much power left to charge the battery.

So far, the battery situation with the phone has been an absolute nightmare. I'm so tired of micromanaging what my phone is doing just so it will last through a full day of usage. I'm really starting to wish I had the option to change the battery out mid day.