The one, most frustrating complaint about Windows Phone's multitasking is that it does not flow forward. Currently when you press the Start button to leave the app and later come back to it by tapping on its tile or app list, the app is forced to restart from the beginning. We have seen conflicting reports about Windows Phone 8's remedy for this, with some saying apps will resume now while some videos denouncing that.
Well it turns out, both arguments were right. Thanks to the release of support documents for the fresh new Windows Phone 8 SDK, there's documentation that developers can enable this "Fast Resume" feature if they so choose. There's an extensive section detailing how to code and optimize for Fast App Resuming, but we found this excerpt to be the best explanation of how it works:
When implementing Fast Resume, you must decide what is the best user experience for you app when launched from the different launch points that are available on the phone.
- A primary launch point takes the user to the app’s main page. Primary launch points include the app’s Primary Tile on the Start screen, the app name in the app list or the Games hub.
- A deep link navigates the user to a another page within the app. Deep links include Secondary Tiles, toast notifications, extensibility points such as Search or the Photos Hub.
With Windows Phone apps, the system maintains a history of pages that the user has visited within the app, allowing the user to use the Back button to navigate backwards through the stack to previously visited pages. With Fast Resume, when an app is resumed, the system creates a new page instance for the target of the launch point and this page is placed on top of the app’s existing backstack. When this occurs, your app can choose to clear the existing backstack, leaving only the newly created page on the stack. In this case, the user experience will be that of a “fresh” app launch. If they navigate backward from the resumed app, there are no pages in the history, so they will return to the Start screen or the previous app. The other way to handle Fast Resume is to cancel navigation to the newly created page. In this case, the user will arrive on the app page that they last viewed and the backstack from their previous session will be intact. It will appear as though their previous app session simply resumed.
So developers have to decide whether the user should see where the app left off (launching from Start, but continuing the prior instance) or to see where they are expecting to go (launching from Start, 'restarting' the app from the beginning). Developers will have to be conscious of how this Fast App Resuming affects performance and system memory, and thus have to use the feature wisely.
Are you totally confused? Then click on past the break, where an early Windows Phone 8X owner shows off exactly what Fast App Resume looks like in WP8 compared to WP7 with the official Facebook app.
Source: Windows Phone Dev Center