Blog and Portfolio of Florian Rehder

Blog and Portfolio of Florian Rehder

Hi,
I'm Florian Rehder and I live in Hamburg, Germany.

I study communication design and work as a webdesigner. In my free time I enjoy playing drums and feed my music addiction ;)

Welcome to my weblog and online portfolio!

iOS Multitasking

Yesterday I read a very interesting article by Fraser Speirs about multitasking in iOS: "Misconceptions About iOS Multitasking"

There is one iOS “tip” that I keep hearing and it is wrong. Worse, I keep hearing it from supposedly authoritative sources. I have even heard it from the lips of Apple “Geniuses” in stores.

Here is the advice – and remember it is wrong:

All those apps in the multitasking bar on your iOS device are currently active and slowing it down, filling the device’s memory or using up your battery. To maximise performance and battery life, you should kill them all manually.

Wrong. Wrong. Wrong. Wrong. Wrong. Wrong. Wrong. There are caveats to this but anyone dispensing the advice above is clearly uninformed enough that they will certainly not be aware of these subtleties.

Multitasking in iOS is not like [cmd]+[tab] respectively [alt]+[tab] on your computer.

If you hit the home button of your iDevice twice, the multitasking bar appears on the bottom of the screen showing your recently used apps.

This list does not contain running apps! It’s like your browser history, just a list of used apps. These apps do not consume system performance or draining your battery!

The user does not need to quit these apps manually. iOS will take care of emptying the memory and quitting apps in the background!

Further details

Fraser Speirs wrote:

Let’s get technical: iOS apps have five states of execution. These are:

  • Not running – the app has been terminated or has not been launched.
  • Inactive – the app is in the foreground but not receiving events (for example, the user has locked the device with the app active)
  • Active – the normal state of “in use” for an app
  • Background – the app is no longer on-screen but is still executing code
  • Suspended – the app is still resident in memory but is not executing code

If you press the home button while an app is running it disappears and is suspended 5 seconds later. It residents in memory but does not execute code, therefore it doesn’t affect your system in any way.

Sometimes an app wants to perform a task in the background, then it can request 10 minutes of background running before it is send to suspend mode.

Additionally there are a few apps which can run in background infinitely. For example: You can listen to music with the iPod app on your iPhone while writing a text message.

Suspended apps resident in the memory and waiting to become active again. But the memory in your iDevice is limited. Therefore if you launch a memory-intensive app like a game, iOS will take care of it and removes suspended apps from the memory automatically.

What we have learned

There is no need for the user to manage background tasks in any way. iOS takes care of multitasking and the behavior of the apps and system resources.

Recent Posts
2. Jan '12
Art and Design
1. Jan '12
Creative Block