Background app refresh eating all my data allowance

How to preserve battery and data on iOS 7

There's this new system feature on iOS 7 that is supposed to speed up the way you use apps, allowing them to fetch content before you use them. The idea is that the apps work in the background getting ready for the next launch. Apps will start downloading new content some minutes before you launch them so you don't have to refresh manually.

While loading the latest on my Twitter timeline is only a matter of seconds, having podcasts, long Instapaper articles and RSS feeds with images prepared for you is priceless. Also super useful when you think of weather and transport apps. Apps compatible with the Background App Refresh function are learning from your habits, ensuring they sync in the background "at opportunistic times". This all sounds very intelligent, but I cannot stop thinking about what the opportunistic times really means.

backgroundapprsc2.jpg

I wouldn't worry too much about this and, in fact, I was initially very keen to have this option switched on to see how clever iOS 7 was. By the end of the month though, it looks like I've used a lot of my iPhone's data allowance and my service provider has capped my usage until the next bill date. This sucks. Having to download emails at EDGE speed now is a reason enough to investigate if background app refresh could be the culprit of the extra cellular data used.

Learning your routine

Some quick research on Apple's documentation and other blogs give some clues on how this feature works. It looks like the feature is meant to learn from your usage, push notifications and location, tailoring the refresh for each app. Regarding activity, it also tracks when the device is not active for a long period, like when you go to sleep. This reduces the update frequency presumably because you don't wake up in the middle of the night to check Twitter and Facebook. Do you?

Even if Apple's support says the background refreshing is done at "efficient times" when the device is charging or has access to a Wi-Fi network, it doesn't say the background refresh is disabled on cellular network. The wording on iOS itself is clearer saying "allow apps to refresh their content when on Wi-Fi or cellular".

Just by digging a bit on the iPhone's Settings menu brings some light on how data is downloaded. Also new in iOS 7 is a list of MB downloaded per app, so let's go directly there. This can be found on Settings → Cellular → Use Cellular Data For. Here you can see the cellular data usage for the Current Period, which I reset every month with my phone's bill, and a breakdown showing how the apps installed are using data. This doesn't tell you what's been downloaded during background, just the total for every app and system service. These is how my list looks like:

  • Safari 197 MB
  • Twitterrific 95 MB
  • Mail 53 MB
  • Instacast ?? MB
  • Instapaper ?? MB
  • Reeder 18 MB
  • YouTube 12 MB

Let's disregard Instacast and Instapaper because when I was preparing the screenshots for this post I accidentally missed them and I have reset the tracking to zero already. I'm guessing they would be there. In any case, what really surprise me is to see Safari on the top up the list. If I used 677 MB this month, Safari and Mail alone account for more than one third of the data used. The best of it? That these two apps are not on the background refresh list, so there's no real way I can monitor how they sync and use all the data.

If I stop to think about it, I actually do use Mail and Safari a lot. Mail attachments can easily take up those 53 MB when sending photos at high resolution but Safari still leaves me confused. Could it be that the tabs on Safari keep refreshing while you browse something else?

Limiting access to cellular data

Leaving Safari and Mail aside, on iOS 7 you can limit how the apps use data individually on different menus. Some even have these switches within the app settings, like the Instacast option to download only on Wi-Fi.

For third-party apps with integrated app background refresh, you can disable them individually on Settings → General → Background App Refresh. It might be a good idea to disable apps you have installed but never use, such as the built-in compass, or those used every once in a while, like Google Maps.

backgroundapprsc3.jpg

If you want to add another layer to prevent excessive data usage, I recommend limiting access to certain apps to access to cellular data altogether. This can be done following the route I mentioned at the beginning of the article Settings → Cellular → Use Cellular Data For. Because I don't want to cripple my iPhone's usage when I'm out and about, I'm only going to select apps that are particularly data intensive. In my case I'll disable cellular access for the YouTube app (still available on Safari) and VOIP apps installed like Skype and Viber.

With these changes all it's left to do it's to reset statistics at the bottom of the window and carry on using your iPhone as you would normally do. Hopefully after a month you will have enough information to compare and see how disabling/enabling background app refreshes makes any difference to your cellular data usage.