UPDATE: I solved this problem.
Like millions of my fellow iPhone users, I happily upgraded my iPhone 4 to iOS 5 several days ago and all seemed well. However, with a few days to let things settle, it looks like the upgrade has come at a high cost: my battery life has absolutely plummeted. I will give some harder data in a second, but it’s worth noting that I can longer expect my phone to work for more than 12 hours in standby mode and with simple use, I cannot expect the phone to last more than 4 hours. Sadly, I’m not alone in this problem. After some CPU utilization tests and a bandwidth utilization review, it appears the battery life issue is related directly to utilization associated with the new iCloud services.
Having scoured the internet, I can report a couple anecdotal facts:
- Apple has not acknowledged or addressed this problem since the iOS 5 update went live.
- People reporting battery issues have almost exclusively been people upgrading their iOS and not new iPhone 4S users.
- Battery life issues were apparently a big problem with the iOS 5 Beta releases, but may have been fixed in the 7th beta release.
- The iPhone has been repeatedly listed as being warm constantly, indicating the battery life is declining through some inadvertent usage leak.
- People have argued the culprit for this battery life decline falls into one of four categories:
- WiFi Problems
- Location Services Problems (including a time zone issue)
- iCloud Usage
- E-Mail Account Settings
CPU Load Test
So, I decided to see if I could isolate this problem a bit more precisely and I grabbed hard CPU utilization data to back my claim (CPU usage is a good battery-use proxy here). On my iPhone, I have WiFi running, Location Services enabled, iCloud services enabled, and have an AT&T (FYI: I loathe them) data plan. I reviewed average CPU load on my iPhone in the first 5 minutes after a complete restart in 8 conditions below and repeated this three times to reduce noise:
- All Services ON
- All Services ON except WiFi
- All Services ON except Location Services
- All Services ON except iCloud
- All Services ON except cellular data
- All Services ON except WiFi and cellular data (data transfer OFF)
- All Services ON and Airplane Mode Enabled
- UPDATE: All Services ON and Spotlight Search Off (indexing disabled)
Here are the average 5 minute load results:
Bandwidth Data Utilization Tests
Knowing that CPU is not the only way the iPhone can drain battery and now knowing that the iCloud service was crushing my phone, I investigated my data use just a bit more. Through a little luck, I actually had timed moments where I had disabled my WiFi access early this morning (the example image above this test shows that) and I was able to see how much data my phone was using on the ATT 3G network clearly. I also had to work a little bit of mathematical magic on my results because I only have clear bandwidth numbers from ATT and I really only use ATT’s 3G network while not at home. Here’s what I discovered:
Normal Monthly Usage (average of 6 months) = ~580 MB
iOS 5 Normal Monthly Usage (only a few days) = ~1,834 MB
Change = ~3.2x increase with iOS 5
I’d expect my iPhone to have high data usage early on with the iCloud service, but I’d expect it to sync almost entirely over my wireless network (especially since it’s particularly high speed) and I would expect my data usage to fall quickly. Perhaps this will take a longer period of time to happen, but for now the data I have shows me using a LOT of ATT 3G data (I’d hate to be one of the guys on a limited data plan right now) and I suspect that can easily and quickly burn through a lot of battery life.
Don’t use the iCloud service. That’s it.
I’ll do some battery drainage tests on my iPhone with the iCloud service on and off to see if this actually fixes my battery life problems. So, despite what you’re hearing in the intertubes, the answer is not related to location services, e-mail settings, or anything else. The reason the battery life is poor on your newly upgraded iPhone is the iCloud service. Definitely seems unfortunate.