One of the key dilemmas facing Windows Phone 7 programmers is how we maintain an extremely responsive experience for the user, provide some sort of multi-tasking and preserve battery life, all at the same time? The solution offered by Windows Phone 7 is to tombstone applications when they are inactive. This tutorial will explore tombstoning, multi-tasking and the entire application life cycle in detail.
The guiding model for the entire lifetime of an application, from launch to termination, is called the Windows Phone Execution Model. It is designed to provide a responsive system, at all times. The strategy to accomplish this is to avoid having two or more applications continuing to run in the background, competing for resources, slowing the foreground application and draining the battery.
To accomplish this, Windows Phone 7allows only one application to be running in the foreground, and no 3rd party applications are allowed to run in the background; even when they appear to do so. When an application is moved to the background, but not closed, it is tombstoned. Tombstoning means that the application is inert, but, the operating system maintains state information for the application. If the user returns to the tombstoned application, the state information is passed to the application before it is restarted, allowing the programmer to restore the application to the state it was in when it was tombstoned. This can give the very effective illusion that the application was there all along.