It almost seems useless to me but maybe I'm missing something. Say for Alien Blue (an app for Reddit).. if I have background app refresh enabled, is it just updating my subreddits that I visit? If it's turned off, they'll just update when I open the app, taking all of 1-2 seconds longer right? Will I still get notifications of new messages if background app refresh is disabled for Alien Blue? What about other apps?
If someone could please explain the benefits and your personal usage/benefits, that'd be great. I feel like disabling almost everything would benefit you more to save battery life. Maybe I'm wrong.
This is how background refresh works based on the session they had at WWDC you can view it at:
https://developer.apple.com/wwdc/videos/ I know this reply is going to be long so here goes.
In iOS 6 only a selected few type of applications can run in the background or program tasks in the background:
- Background Audio (Music apps like, Spotify can run in the background)
- VoIP (Like Skype)
- Newsstand Apps
- Location Services which includes: Region Monitoring, Significant Location Changes, and Continuous Location Monitoring. I think Reminders use this when using GeoFencing.
In iOS 7 apps can continue to update there content in the background without sacrificing much battery life. Apps can take advantage of a new API called, 'Background Fetch'. For example let's say you social networking app you may notice that when your app becomes frontmost, you refresh your feed. And the user has to wait for that feed to be updated which is not the best user experience. Now with Background Fetch your social media app can update it's content before the user returns to your app, in this case the feed.
Some key points about Background fetch:
- System-scheduled fetch
- Coalesced across applications (Saving a lot of battery life)
- Adapts to actual usage patterns on device
- Sensitive to energy and data usage
- Indifferent to actual app running state
Background fetch adapts to how you use your device. So say for instance you check Facebook every morning at 7:00 AM iOS will notice this and will try to give the app an opportunity to fetch content before 7:00 AM. It also coalesces fetches across apps so it doesn't drain to much power it even, avoids frequent fetching during periods of inactivity and when you have a low signal on your phone.
Remote Notifications
You may have noticed in the previous versions of iOS say, you got a message on Facebook and a notification pops up on your lock screen, and you swipe to you it there is a delay before the app downloads the message. Well in iOS 7 in Remote Notifications simply put is downloaded before you even receive the notification.
I have noticed in iMessage on iOS 7 the app is in the background, and I receive a message the app snapshot is updated, this also happens when the user is composing a message. I think that covers most of it, and I hoped I help in some way. Looking forward to your reply.