Wednesday, August 4, 2010

iPhone 4 and iOS 4 battery drain

iPhone 4 owners and those that have upgraded their older iPhones to iOS 4 have noticed that battery life is suffering. We take a look under the covers to find the problem.
One of the big features that Apple has delivered with iOS 4, that was requested by users, was multi-tasking - applications continue to run in the background even when you’ve returned to the home-screen or another application. Here’s an example of how it works.

If you’re running a sat-nav and then decide to go to the browser to look something up, the sat-nav app continues to run in the background, tracking your movement and updating its route information. With any application that uses Location Services, it’s easy to see this running as there’s a small indicator near the battery meter at the top of the screen.

However, other applications are more insidious. For example, we were running an IM client, Yahoo Messenger, and found that it was running in the background, churning up CPU cycles. An easy way to check which applications are running under iOS 4 is to double-press the main button. That opens a small tray of your running applications.

This list scrolls across with a finger swipe and shows which applications are currently active on the iPhone. Based on our observations and use, it’s easy to end up with over a dozen apps all sitting there, either working or waiting for some further input from you.

If you want to really shut down an app, a tap-hold on the open application icon will reveal a small minus sign in the top-left corner of the icon. Tapping that will close the application down.

All of this has us recalling the early days of Windows CE and Windows Mobile. In those days, tapping the cross in the top-right corner of an app didn’t shut it down but sent it into the background. Over time, the device ground to a halt as system memory was consumed by applications that didn’t release memory correctly.

With iOS 4, the same sort of behaviour is manifesting itself although it seems that the presenting symptom is battery drain rather than memory. In our testing, we found that an iPhone 4 could run down in just four hours. The culprit in our case was a sat-nav application that kept the GPS chip busy even though the application wasn’t in the foreground.

We were also caught out by applications that automatically launched after a restart. We rebooted our iPhone 4 and found that applications that had been active restarted after the reboot. For example, Skype, Fring and Yahoo! Messenger all started automatically and logged in. There doesn’t seem to be an easy way to alter that behaviour.

There are a couple of things iOS 4 users can do. Firstly, after using your iPhone for a while, take a look at the apps that are currently running by double-pressing the main button. Shut down any unneeded apps by tap-holding the redundant applications and closing them down but tapping the red minus button on the icon.

Keep an eye on applications that use Location Services. For example, we use the SpeedTest application. It uses the GPS to determine where you are for testing. If you go back to the home-screen before the test finishes, the GPS remains active and eats away at the charge level.

Another handy app to install is the $0.99 iStat. This gives you a snapshot of everything that’s running on your iPhone, using up system memory and CPU cycles.

iOS 4’s multitasking is a boon although it does come at a cost. Application developers are going to have to get smarter and rework applications so that they don’t hog the battery in the background. Until that happens, users need to be vigilant and make sure that unwanted apps aren’t running in the background.

No comments:

Post a Comment