Recently my iPhone 4S suddenly began exhibiting symptoms of the famous “hot battery drain” problem, where the phone would become much warmer to the touch then normal, the battery would drain more quickly, and the phone would charge much more slowly than normal.
It’s been known for some time now that this is often an iOS 5 bug caused by a contact sync process that gets out of hand1. In the process of fixing this problem for myself, I discovered an alternative to the commonly-used practice of using an extra Exchange account for syncing Gmail contacts. This new setup has dramatically increased my battery life even beyond what it was before I started having the battery drain issue.
Note: I use Gmail, and I like all my contacts to be available from there. These instructions are thus somewhat Gmail-centric, but you should be able to improve your battery life by following the general principles shown. If you have tips for other email/contact setups, please let us all know in the comments.
First, solve the battery drain issue. The following steps solved the problem for me2:
- Remove all the messaging accounts on your phone, including iCloud. Remove all Calendars, Contacts, Notes and Bookmarks from the phone (so you don’t have duplicates when you re-add the accounts later).
- Power down your phone (the normal way, by holding down the power button and sliding to power off).
- Let it cool off, and start it up again.
You now have a blank slate: no email, calendars, or contacts. A blank slate means a chance to clean up and streamline.
- Re-add your iCloud account. Wait long enough for contacts and calendars to sync, check to make sure.
- Re-add your Gmail account as a Gmail account. This means it will only pull in mail (and calendar), not contacts.
- Clean up your Gmail contacts by opening your contacts in Gmail (i.e., open the website on your computer), clicking the
More
button at the top, and clickingFind and merge duplicates...
- Purchase the Contacts Sync For Google GMail app. Yes it’s $4.99. It’s worth it.
- Run the app, making sure to read the User Guide to make sure it will be syncing contacts the way you want it to. (I used 2-way, so all my contacts live in both my iCloud and my Gmail accounts.)
- Finally, go to the Settings app, and go to the
Mail, Contacts, Calendars
section. Click onFetch New Data
. Make surePush
is turned off, and select theHourly
fetch schedule.
Now you have all your contacts synced by an app that knows how to do its job better than iOS does (seriously, check out the reviews), and you have an email connection that is lightweight and uses minimal battery life.
For what it’s worth, I also have an Exchange account for work that syncs mail, contacts, calendars and reminders — also on the hourly fetch schedule.
Wait, won’t there be a big delay for receiving emails this way? No, not really. The fact is that whenever you open an email inbox in the Mail app, your iPhone instantly re-checks the account for new mail anyway. The Fetch setting only limits the background checking that the phone does when you’re not looking, so setting it to hourly just means the red “new email” number on the Mail icon won’t update itself more than once an hour3. You can always get an up-to-the-minute check by just opening the Mail app.
-
No one seems to be sure why, however. The most extensive troubleshooting that has been made public seems to leave a lot of unanswered questions. ↩
-
I based this off of this thread at Apple support — they seem to work even though they were posted as a solution to a similar problem that was before iOS 5. ↩
-
Seriously, how often do you really need to check your email? More than once an hour and I’d say you have serious productivity issues. ↩