10

Didn't iOS 6 support multitasking and allow background apps to refresh their content? So what's new in iOS 7? Just that we can enable/disable specific apps from accessing the network when running in the background?

Also, I see that the Pandora app is not present in this list (Settings → General → Background App Refresh) and yet it works fine when in the background and fetches data when on 3G. How does this work?

13

iOS 4 and greater supported multitasking for some specific use cases:

  • A program needing a limited amount of time to finish a task (such as uploading a file) and can be suspended after that. It would not be woken up until the user went back to the app.

  • Playing audible content to the user while in the background, such as Pandora.

  • Recording audio while in the background

  • Keeping the user informed of their location, such as a navigation app

  • VoIP apps like Skype

  • Newstand apps which update content occasionally

  • Communicating with plugged in accessories (added in iOS 5)

  • Apps which communicate with Bluetooth devices (added in iOS 6)

iOS 7 adds two additional use cases for multitasking.

  • A program can register that it wants to download small sets of information regularly. For example, it could download twitter updates regularly. This new API allows you to specify that you'd like to be woken up to download information every so often. For instance, a program could say it wants to download information after it's been asleep at least fifteen minutes. The system will then try to find a time where it can wake up as many apps at once to do their work. Minimizing the number of times the device wakes up will help it save battery.

  • A program can register to be woken to download content if it receives a remote notification. The idea is that it can download the content and be ready to display it if you go into the app.

  • Wow, and I thought I kinda knew what it meant. It turned out I had no clue. Well written. – Melwan Sep 20 '13 at 19:01
  • This may merit its own question, but would disabling "background app refresh" limit any of the pre-iOS 7 use cases? I'm going to guess no, since I didn't see Apple Maps among the options to enable/disable. – Chance Sep 21 '13 at 7:45
7

I actually went to the WWDC session on this, so I have a little bit of insight on the subject. To my understanding, in iOS 7:

  • The app tells the system if it wants to use background app refresh.
  • If the app wants to use the feature, the system analyzes your usage patterns for that app (you open it every morning around 7, once an hour, on third Tuesdays, etc.),
  • After the system thinks it has your pattern for the app figured out, it gives the app an amount of time right before it thinks you are going to open the app.

When would this be useful? For apps with dynamic, updating content. For example:

  • Twitter
  • Facebook
  • A Stack Exchange app
  • A news app
  • An RSS reader
  • etc.

Bassically, any app with content that updates often would benefit from this feature.

As a user, it means that when you open an app after the system figures out your usage patterns, you are going to see very recent content - instead of content still cached from the last time you opened the app.

Also, developers love this feature - at one point, there were several developers around Tim Cook thanking him for such a feature, and trying to make sure that is wouldn't go away.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .