My favourite change for Windows Phone 8 are the changes for a better performance for starting a app. Except for code optimizations in the execution layer of Windows Phone 8 apps Microsoft also changed the startup and resuming behavior of Windows Phone 8 apps. For me is this one of the mayor changes of Windows Phone 8, because it brings with one declaration (see later) such an big effect for the user experience.
History of starting/resuming apps
First Micosoft introduce with Windows 7.0 the tombstoning – not so many people understands it and implement it correctly. With Windows 7.5 (Mango release) they changed the behaviour, that if you use the start button all applications which could hold in memory have a fast resuming behaviour. With the task switcher (press and hold the back button) the user can switch to the applications which are still in memory. Problem: Only power users has known of this feature and if the user start a app with a click on the start screen or the app list, a new instance of the app will be started. Result: bad user experiience.
The Solution with Windows Phone 8
With Windows Phone 8 Microsoft has changed now the behaviour of a Back-Button click on the last page of an application. This will not longer throw away the instance of your Windows Phone 8 application but put it in the memory stack, too. If the user starts the application from any point and the application is still in memory, it will be started in the resume mode – great stuff!
All you have to do is to declare a new ActivationPolicy in the WMAppManifest.xml of your solution.
<Tasks> <DefaultTask Name ="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume"/> </Tasks>
See the behaviour here: