11 comments

[ 2.5 ms ] story [ 36.3 ms ] thread
This is cool – there were two back-to-back one hour lectures on application states at WWDC. Absorbing this graphic is obviously faster and easier.
The image kinda reminds me of an abstract human heart.
Can anyone clarify exactly why a backgrounded application would become suspended? Obviously, it's supposed to occur when the OS becomes low on memory, but does the App's icon actually leave the -- for lack of a better name -- double-tap-dock area?

I've never seen that happen, and nearly every app in my full Springboard is also in the double-tap app switcher.

The switcher is merely a list of recently run applications, not a list of backgrounded applications, which some people have been mistaking it for.
Ahh.. I think perhaps the fact that isn't immediately obvious was somewhat intentional on Apple's part.
They want to make the idea of "running" irrelevant: to the user, it's active or inactive. No need to manage a list of running programs if what is actually running is made invisible and unimportant. Makes it simpler.
Sounds like they may be headed that way with Lion, too - what's seen so far doesn't have the little lights under dock icons that indicate whether the application is actually "open" or not.
Interesting; I hadn't heard that. I feel this trend is good for the future: less things to manage is less that a user can do wrong.
Cute..., and a good start to a UIKit visualization.

By the way, the methods you see in the diagram are to be implemented by a UIApplicationDelegate. Your UIApplicationDelegate class is usually laid out by default in new XCode projects. There are the methods currently documented by Apple.

Monitoring Application State Changes

– application:didFinishLaunchingWithOptions:

– applicationDidBecomeActive:

– applicationWillResignActive:

– applicationDidEnterBackground:

– applicationWillEnterForeground:

– applicationWillTerminate:

– applicationDidFinishLaunching:

Docs here (http://developer.apple.com/library/ios/#documentation/UIKit/...)