These postings are provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.
Paul LabergeDeveloper Evangelist
Frédéric HarperDeveloper Evangelist
One of the more complicated concepts in phone development, regardless of the platform you are targeting, is multi-tasking. The nature of a mobile device is to be resource-limited. It’s not a PC where you have a significant amount of CPU, memory, storage and other assets to tap into in your apps and games. The result is that you have to be wise in how your apps and games use resources on the phone. The good news in Windows Phone 7 development is that a lot of the resource management is done for you (by virtue of the fact that app and game development is done in a managed environment – i.e.: .NET).
That said, you still should be smart about your code to make sure you are maximizing the experience of your app to your users. This post covers Fast App Resume and how to enable it in your original Windows Phone 7 apps.
Fast App Resume
Fast App Resume is a feature of Windows Phone 7.5 that allows users to leave your app and come back to it without having the traditional “Resuming” screen show up. This provides a cleaner, more fluid experience for your users and produces less wait time for them as well.
Apps that target Windows Phone 7.5 from the get-go have Fast App Resume capabilities right from the get-go. If you have built and published a traditional Windows Phone 7 app (i.e.: not targeting Windows Phone 7.5), then this is a super-easy update to apply to your app that takes roughly 5 minutes of your time.
To take full advantage of Windows Phone 7.5 multi-tasking in your Windows Phone 7 apps, all you need to is open your existing Windows Phone 7 app in Visual studio, right-click on the root project/solution and select the “Upgrade to Windows Phone 7.1“ option in the context menu that pops up (see the image to the right for a screenshot). Then recompile it. Your app is now Windows Phone 7.5 multi-tasking enabled and you can submit that as an update to the Marketplace (which will need to be certified, of course). Naturally, you may want to include other updates to your code before you submit the app for certification, however.
(A quick note about the potential confusion between Windows Phone 7.1 and Windows Phone 7.5: Windows Phone 7.1 and Windows Phone 7.5 are actually the same thing. Engineers internally called the Mango update version 7.1 but when we went live with the update, the marketing team named it 7.5).
Uhhmmm.. while technically what you are saying is correct you have missed something I think... see this article by Jesse Liberty -- jesseliberty.com/.../windows-phone-life-cycledont-panic
Essentially the problem with your article is that if I have done nothing major to preserve state during tombstoning then what you are saying is accurate, but if I have setup that has to happen after tombstoning then I want to check the IsApplicationInstancePreserved property of the event args parameter that we get in the AppActivated event. This will tell our app if it has been tombstoned or not..
Really great point! I wasn't particularly clear on that point so I'm glad you highlighted it. You are completely correct. My post outlines the minimum you need to do to enable FAS in your 7.5 apps. It is highly preferable (or even expected) that you implement appropriate tombstoning in your app. The good news is if you've implemented good tombstoning practices in your Windows Phone 7 app, then you are a good deal closer to achieving the goal of a great Fast App Resume experience for your users.
Great link, by the way. I'm also a big fan of Jesse's tutorials.