12

Let's say if I install a dozen games and utilities on the iPhone, and then also installed chat apps like WhatsApp, WeChat, Line, then

  1. When the iPhone restarts, can all these apps start up as well and take up valuable processor time and system resources?

  2. What if I start an app, and then explicitly double tap on the Home button, and then slide the app out (to exit it). Can it or part of it still run in the background now or later?

  3. Since WhatsApp, WeChat, Line, and Facebook Messages all notify me of new messages, it looks like they will be running as soon as I restart my iPhone. Are they using my CPU in the background? Also, it seems that even if I turn off App Refresh in Settings, the apps can possibly still run in the background. Is that true?

One big concern is, if I do install all Angry Birds variations, a few casino roulette games, and all Cut the Rope versions and don't bother to delete them (the phone has 128GB storage). Then, will all these apps possibly run at iPhone restart time or just randomly and take up processor time and system resources (such as RAM)?

  • 1
    I've posted a very long guide about everything there is to know here, I hope it really helps you! – owlswipe Sep 11 '16 at 4:10
  • Did my answer help? Please either accept it or tell me what's wrong with it so I can make it better! :) – owlswipe Dec 22 '16 at 2:12
26

Apple has very strict guidelines for how—and when—apps can run in the background.

The following are the only scenarios in which a third-party iOS app can use CPU in the background.

Background Fetch

Any app can use "Background Fetch" (aka Background app refresh) to fetch content in the background for a few seconds, about once a day (on a timeframe regulated by iOS, out of the developer's control). Background Fetch takes up very little battery and CPU, and is mainly used by news/weather/social media/mail apps to update your feed so that when you open the app it won't be completely out of date.

Audio, Voice over IP, Bluetooth Communications

If an app plays audio in the background (over AirPlay or through the phone's speakers), iOS permits it to run in the background until it ceases to play the music; if an app allows you to make data-based phone calls (like Whatsapp or Skype calls) in the background, it can stay active, using CPU for the duration of the call; and if an app communicates to Bluetooth Accessories (like the Pebble app communicating with the Pebble Smartwatch), it can stay awake permanently in the background.

Newsstand downloads, remote notifications

Newsstand apps (as long as they are approved by Apple to be a major news organization and show up in the Newsstand part of the App Store) are permitted to download new content in the background; any app (like The New York Times app) that needs to display notifications generated outside the app (for example, breaking news notifications), can stay awake in the background to recieve such "remote" notifications.

Location Updates

If you allow an app to "always" use your location (i.e. in the background), then it can be active at any time in the background. Apps like Facebook, Find Friends, and others use this to update location-related information, though other apps can use it to surreptitiously use it to do tasks in the background (but only if you specifically allow them to access your location).


A very common misconception is that "swiping up" on an app to kill it stops it from operating in the background: this is wholly untrue. Apps that have one of the above seven reasons to operate in the background can operate in the background regardless of you "swiping up" on them, and apps that don't have one of these seven reasons can't operate when they're not on the screen even if you don't kill them.

Another misconception (that you seem to have!) is that switching off "Background App Refresh" will stop an app from operating in the background; in fact, that only disables an app from using Background Fetch, but it can operate in the background if it has one of the other six reasons too regardless of the Background App Refresh toggle.


So are the apps you have installed using CPU, memory, battery, or data in the background? You can easily find out! Go to Settings on your iPhone, find the Battery section, and take a peek. If an app shows "Background Activity" under its name, then it's been using CPU in the background; otherwise, it has not been doing anything in the background.

Here's an example screenshot:

enter image description here

On this iPhone, Podcasts has been operating in the background but none of the other apps have. Going into Battery Settings is a simple way to tell if Angry Birds has been running in the background.


So, to answer your questions directly:

When the iPhone restarts, can all these apps start up as well and take up valuable processor time and system resources?

Only if they are specifically configured to run in the background, you can check if they've been doing that in your iPhone's Battery settings.

What if I start an app, and then explicitly double tap on the Home button, and then slide the app out (to exit it). Can it or part of it still run in the background now or later?

Yes. For example, if Facebook uses location services (as it does), then swiping up to kill the Facebook app will not stop it from using your location in the background, and while it's using your location, it can perform just about any other task in the background too.

Since WhatsApp, WeChat, Line, and Facebook Messages all notify me of new messages, it looks like they will be running as soon as I restart my iPhone. Are the using my CPU in the background? Also, it seems that even if I turn off App Refresh in Settings, the apps can possibly still run in the background. Is that true?

Whatsapp, WeChat, Line, Hangouts, FB Messenger, and other chat apps use the remote notifications capability to check for new messages in the background every once in a while. This is expected behavior (and you can check how much they're doing it by checking their app-by-app battery usage, again in Battery settings), and shouldn't drain your battery too much. And indeed, turning off App Refresh for those apps will not have any effect, as the apps use remote notifications and not background fetch to operate in the background.


TL;DR: Apps can use your phone's resources in the background, you can see how much they're doing in Settings -> Battery.


Sources of information:

  • 2
    it's quite good... can you quote any reference / source about this? – 太極者無極而生 Sep 12 '16 at 14:11
  • 2
    @太極者無極而生 All of the information came from my personal knowledge as an iOS developer, but I've also added some sources to the bottom of my answer. – owlswipe Sep 12 '16 at 20:23
  • 1
    Excellent answer. As a trivia item, Apple disabled remote notifications for force-closed apps in iOS 7. But since people who compulsively ejected all their apps complained about not getting notifications, that got put back in in iOS 7.1 or 7.2. – user11633 Sep 13 '16 at 18:54
  • 2
    @Phong I like it, I didn't know that! Thanks :D. – owlswipe Sep 13 '16 at 20:41
  • 2
    You are incorrect about force-quitting being unrelated to whether apps can use Background Execution. Apple on BE: "[iOS] does not relaunch apps after...force quit by the user. One exception is location apps...in iOS 8 and later... [Otherwise] user must launch [it] explicitly or reboot...before the app [will be] launched automatically into the background by [iOS]." – tubedogg Oct 4 '16 at 18:19

You must log in to answer this question.

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