Does an iPad consume more battery power when there are multiple applications open?
Under normal circumstances only one application is in the foreground and actually running. Of course what that app is doing can have a big effect on battery life.
Other applications may be multitasking, but only in very specific circumstances - it's rare. Most apps will actually be doing nothing, so the answer is conditionally, "no".
When you tap the home button the foreground app receives a set of messages that allow it to prepare for and then enter a background mode. The app doesn't have to terminate completely but it is not running either. By default apps may not continue running in the background in iOS. They may request permission to run for up to ten minutes in the background (for example to complete a download) when they are notified that they are about to lose foreground status. Abusing this would be one way to get an app rejected by Apple.
Fraser Speirs recently wrote a very interesting blog post about this which was widely retweeted by developers, because it is right, and current for iOS 5.x.
Quoting from it:
There are exactly five kinds of apps allowed to run indefinitely in the Background state in iOS 5:
- Apps that play audio while in the Background state. A good example is Instacast while it's playing a podcast.
- Apps that track your location in the Background. For example, you still want voice prompts from your TomTom navigation app, even if another app is Active.
- Apps that listen for incoming VOIP calls. If you use Skype on iOS, you can receive incoming Skype calls while the app is in the Background.
- Newsstand apps that are downloading new content.
- Apps that receive continuous updates from an external accessory in the Background.
Now if you are running an app that fits into one of the above categories it could be performing background processing. If it is a badly written app it could possibly be doing unnecessary processing. If at the same time you were running a foreground app that is demanding of processing resources then it's possible that killing the background app could make your foreground app go faster.
However! If you look at the categories you will see that these are all things that you would want to do if you were using those apps. You would not want to be able to receive a Skype call only when you brought Skype to the foreground. You would not want TomTom to stop giving you directions just because your passenger started to check email. So terminating apps is almost always a bad idea.
Now a word about the Recent Apps List that you bring up by double-clicking the home button. Notice the name is not "task list" or "multitasking list" or anything like that - it's just a list of recent apps. Some of them may be in the background, suspended and ready to run. Some may be terminated and not running at all - if tapped they would have to start running from scratch. An app from one of the listed categories may even be running in the background. But this list gives no indication of what is running right now. You can remove apps from the list but if the app wasn't running it can't be terminated. Proof: do a hard reset of your phone, letting it boot from the white apple screen. All the icons remain the same. Apps that may have been running are now not running but their icons remain.
Generally speaking there is no need to manually remove an application from the recent apps list.
If you really want to terminate an app that is currently in the foreground without switching to switch away from it before terminating it via the recent apps list, you can hold down the sleep/wake button (top of the device) until slide to power off
appears. If you then hold down the home button until the device returns to the springboard, the app is terminated. (If you press Cancel and return to the app instead it is not terminated.) Proof: use an app with state - e.g. do a search in the iTunes Store app. Terminate it in this way, when you reopen the app your state is gone. If you don't terminate it your state remains.
Generally termination of the foreground app is never required - as you may have seen, an app that crashes is terminated by the phone automatically as soon as the watchdog process detects that the app is not responding to system events.
From the iPhone OS 4 press event in 2010:
Q: How do you close applications when multitasking?
A: (Scott Forstall) You don't have to. The user just uses things and doesn't ever
have to worry about it.
A: (Steve Jobs) It's like we said on the iPad, if you see a stylus, they blew it.
In multitasking, if you see a task manager... they blew it. Users shouldn't ever have
to think about it.
No. Only one app truly runs on iOS at a time.
Yes, there are some seconds an app can ask to finish a task before the OS will kill the process if it's not done.
You can have some background tasks like a Skype phone call going in the background, but again this is really the iOS running that specialized code for the app, not the entire app still running.
Other than the edge case, where you exit one app and it has a few seconds to finish up tasks, only one app runs at a time on iOS and your battery life isn't affected by multiple apps. Your battery gets drained due to the foreground app and/or the OS itself doing radio, lighting the screen and running the CPU.
Short answer:
In the best case, the amount of resources consumed by multiple apps will be the same as when you are running a single app. In the worst case, multiple apps will consume more resources than a single app. Therefore, to stay on the safe side, you should close all background apps.
Long answer:
An iOS device consumes more (or the same amount of) resources when there are multiple applications running. Let S
be the amount of resources consumed with a Single app running, and M
be the amount of resources consumed with Multiple apps running. We have the following relationship: S <= M
, and closing apps will keep you on the safe side.
Although Apple's intent was for users to not have to worry about background apps, that doesn't necessarily mean that it is that way. The fact is that developers have the freedom to implement apps as they please, and once Apple opened up the App Store to any developer in the world, all bets of Apple's intent were off. Although developers technically only have 5 background profiles to choose from, there are several ways in which Apps may undesirably consume resources:
- Unwanted background behavior: E.g. A user uses Skype for IM only, and doesn't quit the app after the IM session is done. The app is listening to VOIP even though the user is not using it for that reason.
- Unknown background behavior: Imagine an app which helps remind you where you parked by using your GPS. Is it using Apple's GPS background process, or is it using some other feature? Or how about a podcast app which is playing a podcast that is in the process of being downloaded. Will it automatically remove itself from the background once it no longer needs to download the podcast?
- User error: A user is running a radio application and uses the pause feature rather than stop feature, which causes the app to continuously consume resources, but, since the music is no longer playing, has no indication that it is doing so.
- Application error: A radio app which gets indefinitely paused in the background, e.g. due to a poor connection. The user has no indication that the app is running and consuming up resources. Even this article which argues the opposite case mentions that there are apps that can go "berserk and will not terminate properly."
- Undocumented features. There have been cases where apps pass the review process even though they contain features Apple doesn't allow (e.g. tethering). It's not farfetched to imagine a developer hiding a background process in their app as well. It could easily be masked if some portion of the application actually utilizes the documented background processing feature, while the rest does whatever it pleases once it's running in the background. The main reason tethering apps are removed from the App Store is because of the publicity they generate. An application that uses background processing for undocumented reasons would be able to fly under Apple's radar for many years, since no one would necessarily know about these features, let alone care enough to discuss them on the Internet.
With over 500,000 apps on the App Store, there is no way to know what each application does, let alone know what kind of background process it may be running, and whether or not it is well-written.
This is the same reason an Apple Genius would recommend that you close all the apps in the tray. No one is arguing that all of those apps are running and consuming resources. They're arguing that some of those apps may be consuming resources, and since there is no way to know which of them are using up resources, since the icons look the same, the easiest way to solve this issue is to close all of them.
Technically, you could go through the list and ignore all those apps which you know for sure don't use background processing, but that is a far more challenging task than simply closing all of them. (Here's an example which although is exaggerated could still be real: This is a turn-by-turn GPS app, so I need to shut it off; this is a radio app, but I never pressed the play button, so it shouldn't be streaming in the background; this is a GPS app which doesn't use turn-by-turn, so I don't need to close it; this is an app which might be downloading something I don't care about, and I closed it 6 minutes ago, so it might be in the 10 minute window of bg processing, and I should close it; this is just a game, so I don't need to worry about it; this is a parking app which uses my location, did the developer implement it as a GPS app or does the GPS only work when I launch it?) Compare that with: close, close, close, ...
As the number of apps you have installed on your iPhone increase, so does the likelihood of having background processes consuming undesirable resources.
You can't expect a user to know how every app they download will behave. Therefore, if a user is concerned with unnecessary background processing, then closing apps is a good idea.
There have been many times when I would notice my iPhone getting really hot even when I'm not using it. The cause is always some application(s) which is using the processor even though it's not necessarily running in the foreground. The quick fix is to close all the applications (by double tapping the home button). So far this has always resolved my iPhone's overheating issues within a few minutes.