iOS 4 Fast App Switching Explained

Great post by Matt Neuburg over at TidBITS, where he explains the most important technical details you need to know about iOS’ multitasking.

“Here’s the long and short of it. When you are running an app in iOS 4 and you click the Home button once to quit it, the app doesn’t quit. Instead, it goes into suspended animation, like the scientists in cryogenic hibernation in “2001: A Space Odyssey.” The app simply stops receiving events from the system; its run loop isn’t looping. The app is both backgrounded and inert; but it is still running, in the sense that its resources and interface are still present, so that it doesn’t have to be relaunched from scratch in order to resume.”

On updating apps to support iOS 4:

“Clearly it’s going to take time for developers to recompile for iOS 4 and get their updates through the Apple gateways and onto your device. Until they do, you won’t see all that much benefit from multitasking on iOS 4. Only Apple’s own apps, and those few apps that have already been updated, are acting in a new way.

Moreover, recompiling for iOS 4 is non-trivial (as I just found out while doing it for the TidBITS News app), because it will also require some rewriting. The app instantly participates in multitasking with no changes in code, merely by virtue of linking to the iOS 4.0 frameworks instead of to an earlier version; but that doesn’t make it a good multitasking citizen.”

True. It’s very annoying that many apps don’t support multitasking but still appear in the multitasking tray.