The new feature marketed as "multitasking" in iOS 4.0 was neither new, nor truly multitasking. iOS developer James Jennings explains this paradox and why the result is a net win for the user.
5. “New!” iOS 4 Multitasking is a lie. It’s not new It’s not multitasking
6. “New!” iOS 4 Multitasking Yeah, it’s not new. iOS has always been “Unix-like” Examples Mail sending/receiving iPod App downloading Oh and the phone
7. “New!” iOS 4 Multitasking What is referred to as “Multitasking” in Apple’s agitprop is really just: Fast Switching Handful of OS hooks providing limited support for background execution of code
8.
9. Fast Switching The “Task Bar” Apps aren’t directly terminated in iOS 4 “Freeze Dried” state information saved
10. Fast Switching Apps can opt out Apps can be kicked out App is on Task Bar != App is eligible for fast switching
11. Location Tracking 3 Options Normal AGPS Significant Location Changes Region Tracking (iPhone 4 only) App developers must be aware of performance implications
13. VoIP App can listen on network for incoming VoIP calls Must use local notification to let user know
14. Task Completion App can declare certain blocks of code as critical, which will continue to be executed even after app is terminated Example in pre-iOS4 Mail App can’t run itself indefinitely however, hard time limit enforced App can declare cleanup code if it’s terminated
15. Local Notifications Not really part of the “Multitasking” umbrella, available to all iOS 4 devices Utilized by multitasking apps, however
16. Summary “Multitasking” has always existed in the technical sense on the iPhone platform The new multitasking in iOS 4 is a specific set of services and hooks Some features are automatic, others must be implemented