Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Armen

macrumors 604
Apr 30, 2013
7,408
2,274
Los Angeles
I'm not entirely sure what background app refresh even actually is: Does it mean that the app is constantly calling home and eating up my data allowance? Or does it just mean the phone is receiving the occasional micro-packet letting iOS know that there's information available next time I bring up the app?

I don't think I have any apps that I want using my data unless I'm actually using the app at the moment. E.g. a navigation app during actual use, a web browser or mail program while I'm actually using it. Etc. Otherwise, let it refresh when I call on it.

What am I missing here?
http://appinstructor.com/blog/2014/background-app-refresh-explained
 
  • Like
Reactions: daniel1948

FrozenInferno

macrumors 6502
Oct 27, 2013
272
268
The average user probably doesn't care about, or need to know, which apps are running in the background and which aren't. The OS does a pretty good job managing its memory and moving things in and out of the RAM in a fairly seemless way so you don't really notice it happening unless Safari reloads your tabs or something like that.

But for those who like to tinker and know exactly what's going on in the guts of their devices it's a sort of confusing setup. I have a system monitor app that I open up once in a while just to see what my memory usage is like and it's constantly floating near the 1GB limit of my 5S's RAM with maybe 100MB to spare, no matter how many things I have open in the app switcher, yet my phone never shows signs of bogging down. The worst that happens if my Safari tabs refresh now and then if I go back into the browser after being out of it for a while. Whatever iOS is doing behind the scenes is working well enough for me.
 

Armen

macrumors 604
Apr 30, 2013
7,408
2,274
Los Angeles
The average user probably doesn't care about, or need to know, which apps are running in the background and which aren't. The OS does a pretty good job managing its memory and moving things in and out of the RAM in a fairly seemless way so you don't really notice it happening unless Safari reloads your tabs or something like that.

But for those who like to tinker and know exactly what's going on in the guts of their devices it's a sort of confusing setup. I have a system monitor app that I open up once in a while just to see what my memory usage is like and it's constantly floating near the 1GB limit of my 5S's RAM with maybe 100MB to spare, no matter how many things I have open in the app switcher, yet my phone never shows signs of bogging down. The worst that happens if my Safari tabs refresh now and then if I go back into the browser after being out of it for a while. Whatever iOS is doing behind the scenes is working well enough for me.

I remember when I was playing Infinity blade II iOS was showing like 80MB Free Ram. I'm amazed how well iOS runs in low memory situations compared to other *cough* platforms.
 

Shirasaki

macrumors P6
May 16, 2015
16,263
11,764
A more strict way to limit app behavior is using Restrictions. I keep it on all the time so no new requests, no change of existing requests. Background App Refresh, Locations Services, etc. I also use it to remove "Connect" in music app.

But I doubt this will also limit the real behavior of apps if I disallow it from running in background from very beginning, or receiving location info.
 

vexorg

macrumors 6502a
Original poster
Aug 4, 2009
622
53
I have a habit of killing all apps running everyday. I was caught out with that Skype nonsense and couldn't afford to have no battery half way through a day. Simpler to kill them all and not worry about what's running.
 

Trahearne

macrumors 6502
Oct 6, 2014
418
73
I'm not entirely sure what background app refresh even actually is: Does it mean that the app is constantly calling home and eating up my data allowance? Or does it just mean the phone is receiving the occasional micro-packet letting iOS know that there's information available next time I bring up the app?

I don't think I have any apps that I want using my data unless I'm actually using the app at the moment. E.g. a navigation app during actual use, a web browser or mail program while I'm actually using it. Etc. Otherwise, let it refresh when I call on it.

What am I missing here?
Generally speaking, all apps should be suspended in a few seconds after it is put into background. If they somehow run in background, it is usually initiated by the iOS to handle a few specific circumstances which the app has pre-registered for.

The two common background modes:

Background App Refresh (or the fetch background mode) meant to grant apps an opportunity (i.e. no guaranteed time interval) to refresh their data in the background. iOS would attempt to wake apps to prepare it before you might need it, based on its analysis of your use pattern. The execution time of the background refresh routine is limited to 30 seconds, and the probability of a next grant is subject to power usage, data usage and network integrity.

Silent Push Notification (or the remote background mode) meant to grant apps an opportunity (i.e. again not guaranteed) to refresh their state with regard to the push notification. The background refresh routine is also subject to the same set of limitations/caveats as Background App Refresh, and the only difference is the initiator being the app's push notification provider, not iOS.

Note that while it is called "silent", it is just a flag in the push notification packet, and can be attached to normal push notifications. For example, it can be used to preload - only if iOS grants the opportunity - the new mail in background at the time its notification is presented to you.

In reality, these two background modes are consistently triggered when your device is on both charger and Wi-Fi. My observation from Dispatch and Due is a 10- to 15-minute interval for BAR, and a permanent green light for silent pushes. Otherwise, it would very likely be rapidly throttled to the "never wake again" category if it doesn't behave well.

Both modes share the same BAR switch in Settings, by the way.

Some other background modes IIRC:

VOIP - Since iOS 8, it is similar to Silent Push Notification, but is guaranteed to wake the app for the VoIP push notification.
Bluetooth - Don't worry, it is throttled for power efficiency.
Location - I haven't learnt much about this, but again I believe it is throttled.
Background Transfer - For long-running file transfer, e.g. uploading a video.
Audio - For audio playback.

TL;DR: iOS throttles everything for power efficiency, and generally speaking nothing can run extensively in the background other than seconds in two digits.
 
Last edited:
  • Like
Reactions: Shirasaki
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.