Download presentation
Presentation is loading. Please wait.
Published byGertrude Davis Modified over 6 years ago
2
Windows Phone Platform Integration Yochay Kiriaty Microsoft @yochayk
4
Agenda Love and hate tombstoning
What is tombstone and why you should care? The basic Advance Choosers and Launchers and Tombstone What, why, and how Tombstoning
5
Basic Application Lifecycle
Not running Launching Running Closing
6
Tombstoned (in most cases)
Tombstone Application lifecycle Press Start Open toast Lock screen Running Deactivated Tombstoned (in most cases) Activated User is back where he` left off Load state to continue where she left off Save state for later use The application’s process is killed (in most cases)*
7
App Management The Windows Phone execution model is designed to provide end users with a fast, responsive experience Only one 3rd-party application can run in the foreground System terminates your application when user navigates away App is Tombstoned when user “navigates” away System saves some state information then terminates the app When user navigates back to the application, system restarts it and passes state information back to the client Developer must write code to respond to lifecycle events Save and restore state Maintain illusion that the application is running continuously
8
Lifecycle Events Application_Launching Application_Activated
9/12/ :59 PM Lifecycle Events Application_Launching When the application is launching Not fired when the application is reactivated Application_Activated When the application is activated Not fired when the application is first launched Application_Deactivated When the application is deactivated Not fired when the application is closing Application_Closing When the application is closing Not fired when the application is deactivated © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
9
Application Lifecycle 1
9/12/ :59 PM Application Lifecycle 1 User ‘Backs’ past first page App Running Launching event Closing event Start User invokes chooser or launcher, or presses Start to launch another app Deactivated event © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
10
Application Lifecycle 2
9/12/ :59 PM Application Lifecycle 2 User completes chooser or launcher. Or user navigates back from other app to reach your app Restored app instance App Running Deactivated event Activated event New app instance User presses Start and launches your application App Running Launching event © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
11
Demo Application Lifecycle Demo #1 Launch app - Run normal
Show logger, events and such, Show code App.xaml Page1 and Page 2 Exit the app and launch again… Show logger Demo #2 Launch app Nav to page 2 Tombstone Launch the app Show log as new app Demo #3 Press back button Show log and show tombstone Notice constructor of app and page 2 Press back to return to page 1 Show log, explain You cant take dependency about page creation and or object creation
12
Tombstone and Controls
Pivot Use SelectedIndex Must used in the page (control) loaded event Pano DefaultItem But…. Scrollbar VerticalOffset Map Control Zoom levels and other transforms Picture viewer or any other control manipulation.
13
Demo Tombstone & Controls Demo #1 – Pivot: Save the right pivot
Demo #2 – Pano With Pano, you cant really do anything Show code pano.SelectedIndex is read only Pano Default item changes With Pano – recommendation is not to do anything unless you are willing to take the hit for the background Demo #3 – Pivot save scrollbox location
14
Tombstone and Resources
Camera, Video, Mic Release on Page OnNavigatingFrom (or earlier) Location Deactivated (ideal on OnNavigatingFrom) Remember warm-up time Sensors Stop on Page OnNavigatingFrom
15
Application’s load time
Advance Topics Application’s load time Lunching , Existing, Deceived, Activated: all in just 10 sec Defer loading and use background thread Serlilization frameworks and times Make sure you read this Optimize save state Per page Global (MVVM)
16
Launchers and Chooser Common tasks used by users
Camera, SMS, Contacts, Marketplace, etc… Tombstone the application Some have relaxed tombstoning policy PhotoChooserTask CameraCaptureTask MediaPlayerLauncher AddressChooserTask PhoneNumberChooserTask Game Invite – Used in XNA Games Gamer Card – Used in XNA Games
17
Demo Launchers, Choosers And Tombstone
Demo #1 – show app lifecycle demo select phone number – doesn’t tombstone, therefore load log differently Send SMS - tombstones…
18
Summary Tombstone is part of your Windows Phone application – deal with it! Understand method call order Do not rely on classes or page constructors Check global objects before using Defer work as much as possible Be smart when saving your state Be aware of startup and shutdown times Delight your users by working smart with controls, UI, and resources
19
Feedback Thank You for attending today’s Tech.Days Online Conference. Today’s Online Conference will be recorded. It will be made available on-demand very soon. Your Feedback Matters! Please complete the online evaluation form which will be ed to you.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.