I have an iPhone 6 running iOS 8.x, I am on the Rogers network in Canada. I was travelling in the US on the AT&T network, and got a carrier update which I mistakenly applied (although all my support calls indicated that this shouldn't affect anything). Upon returning to Canada, I discovered my CPU usage was bouncing between 50-51% as a flat bar (Discovered using SysStatLite). Anyone who knows anything about CPU graphs and computers know that when a computer is idle, the CPU bounces between 2-8%, but when it's doing stuff, the CPU graph bounces randomly all over the place, unless the CPU is pegged at 100% doing some processing (photo editing, video editing, video gaming, etc)
|Idle CPU Example|
As you can imagine, the two biggest battery eaters on a mobile device is the CPU and Screen, followed closely by network). So with my CPU hovering at 50%, my battery life was cut in half. an hour drive home would eat 1/4 of my battery, so that's like 4-5 hours of battery life in my phone, not acceptable!
So let's get into the list of things I tried without getting intrusive:
- Closing all open applications (double-tap home screen and close apps)
- Turning off all background apps
- Turning off all location services
- Going into Airplane mode
- Restoring from iCloud
|50% CPU, airplane mode to 8%, off airplane mode spike and back to 8%|
Time to call support
- Back-up the phone and Restore it from iCloud (and also from iTunes), again
- Factory reset the phone (no issues, but no data)
- Set up the phone from scratch again (without using a backup, by the way this is extremely intrusive and painful!)
- CommCenter crashed -- disabled MMS
- Searchd crashed -- found a baller iPhone5 wall paper.
- iCloud backup could cause the CPU usage
Answer #3 on this page indicated that if you sync'd your phone against an Exchange server, contacts would have issues now and then.
This made something click for me. As a former Microsoft employee, I'm pretty knowledgable on Exchange (after my years working on Small Business Server). I knew that Outlook.com supported Exchange Active Sync which is a fantastic protocol for syncing email, usually reserved for full Exchange (Office365). Instead of setting up my iPhone using the default Outlook.com settings, I chose to set up Outlook.com as an exchange server. I deleted my personal email account and re-set it up using the prescribed method for syncing Outlook.com addresses on iPhone. One of the benefits of EAS is you never have to reconfigure it, even if an admin moves something around. So I figure maybe an admin would move my mailbox somewhere, and change the config, but my hard-coded config on the phone wouldn't adapt to this.
So far the CPU hasn't spiked since! it's been idle and my battery life rocks again!