Windows Phone 8 has a new feature introduced called as ‘Fast Application Resume’, which allows the Windows Phone 8 OS to launch the application from suspended to running quickly. You feel like toggling between multiple apps with out much delay comparing to Windows Phone 7.x platform.
With Windows Phone 7.5, OS was allowed to move the applications to Suspended/Dormant state, if another application is launched or currently running. This allows only one application can be running in the foreground at a time, and other applications you launched previously will be put on Suspended/Dormant mode. You can bring back the previously running applications(that is currently in suspended/dormant mode), by selecting the app from the Task Switcher(press and hold – <back button for few seconds to display all list of suspended apps in memory).
The following diagram explains the application life cycle of a Windows Phone application:
Windows Phone 7.x – Application Lifecycle
[Image Courtesy: Nokia Developer]
A simple diagram: that explains how the application lives and dies in Windows Phone app
[Image courtesy: Microsoft]
For more information on the lifecycle of a Windows Phone app see App activation and deactivation for Windows Phone.
How is it different in Windows Phone 8.0
[Quoting from – MSDN]
On Windows Phone 8, when the user navigates away from an application, the application is suspended and its state is preserved in memory. If the user returns to the application by pressing the Back button or by using the Task Switcher, the app instance resumes. Because the app was preserved in memory, the app quickly resumes in the same state it was when the user navigated away. This process is called Fast App Switching (FAS).
By default(on both Windows Phone 7.x and Windows Phone 8.0 platform) – If the app is suspended and the user relaunches the app, such as by tapping on the app name in the app list or tapping the app’s primary Start Tile, by default the old instance of the app is terminated and a brand new instance of the app is created. This process is slower than resuming a suspended app and provides a different user experience. This is scenario as Windows Phone 7.x.
Windows Phone 8 introduces the ability for apps to request that user actions that would typically relaunch the app, such as tapping the app’s Start Tile, instead resume the suspended instance of the suspended app instance, if one exists. This feature is called Fast Resume.
To Enable the Fast Application Resume in your Windows Phone 8 applications – you can do it by adding an option(ActivationPolicy=”Resume”) in app manifest file(WMAppManifest.xml)
See how you can do it in visual studio:
<DefaultTask Name="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume"/>
Sounds Cool! right – this can improve your application performance in Windows Phone 8, while toggling between different apps.
For more information on the Fast Application Resume Fast app resume for Windows Phone 8.
The Application Execution Model in Windows Phone 7.5 by Daniel Vaughan
MSDN – App activation and deactivation for Windows Phone
MSDN – Fast app resume for Windows Phone 8
Execution Model Overview for Windows Phone