SlideShare a Scribd company logo
Windows Phone 8
                                                                                        Architecture
                                                                            App Model and Navigation



                                                                                                          http://www.paxcel.net




                                                                        Contributors : -

                                                                        Pallavi Vasishta - pallavi.vasishta@paxcel.net
                                                                        Ranjan Baryal - ranjan.baryal@paxcel.net

                                                                          Paxcel technologies. www.paxcel.net
This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Windows Phone Architecture




Note : Although Win32/COM APIs are only shown in the Core Application box , they are
actually callable by managed apps, as well, as long as they are wrapped in a custom
WinPRT component.

                                                                                           Paxcel technologies. www.paxcel.net
                 This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
App Types




                                                                          Paxcel technologies. www.paxcel.net
This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
App’s Lifetime Management Events




                                                                           Paxcel technologies. www.paxcel.net
 This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Transitions from Foreground App to Back stack
The Closing case This is when an app terminates and receives the Closing
event. This is unambiguous and simple to handle: it happens when a user
presses the hardware Back button from the first page in the app, which kills the
app instance and the process itself.

The Deactivated case This is when an app is moved to the background and
receives the Deactivated event. It happens when the user leaves your app in
the back stack. The app must save sufficient transient state to recreate its
current UI in case the user returns to the app instance, even if the process has
been terminated in the meantime.

    –    Tombstoning The app is deactivated and the process is killed,
         but the app instance is maintained. There’s nothing actively
         running or even sitting in memory, but the system remembers the
         app’s critical details and can bring it back to life if needed.

    –    Fast app resume The app is deactivated and then immediately
         reactivated, without being tombstoned in between.


                                                                                          Paxcel technologies. www.paxcel.net
                This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Normal Termination




                                                                          Paxcel technologies. www.paxcel.net
This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Fast Resume State




                                                                          Paxcel technologies. www.paxcel.net
This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Tombstone State




                                                                          Paxcel technologies. www.paxcel.net
This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Some Fact About Deactivating App



•   In the fast app resume scenario, the IsApplicationInstancePreserved
    property is true on Application.Activated, whereas in the tombstone
    scenario, the IsApplicationInstancePreserved property is false on
    Application.Activated.

•   The system retains only five apps on the backstack, including the
    one that is currently active. As soon the user launches the sixth app,
    the app at the beginning of the backstack (that is, the one that was
    used least recently) is discarded completely.

•   If memory pressure increases to the point at which the system
    needs to reclaim memory from deactivated apps, it will first start
    tombstoning apps from the end of the back-stack.



                                                                                         Paxcel technologies. www.paxcel.net
               This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Resource Management During Deactivation of Apps
•   When App is Deactivate especially hardware resources such as sensors, and camera etc. ,
    which can only be used by one app at a time can be deactivated using standard
    OnNavigatedFrom and Deactivated events. However, if you do not proactively release
    resources, the framework will do the job for you. It’s best to keep control of this yourself so
    that you can track which resources you were used and reinstate them as needed, if the app
    is later reactivated.




                                                                                              Paxcel technologies. www.paxcel.net
                    This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Resuming The App
•   When an app is reactivated from the deactivated state, the framework resumes
    timers and threads, and reattaches some (but not all) resources that it previously
    detached. The developer is responsible for reconnecting/resuming media playback,
    HTTP requests, sockets, and the camera.




                                                                                            Paxcel technologies. www.paxcel.net
                  This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Obscured And Cancelling Navigation Events
•   Some external operations Lock Button Pressed merely result in the app becoming temporarily
    obscured. In this scenario, there is no NavigatedFrom or Deactivated event. Instead, the system
    raises an Obscured event.

•   The system’s normal assumption is that if an app is running and the lock screen engages, it is
    reasonable to deactivate the app.

•   By disabling ApplicationIdleDetectionMode, the app can continue to run under screen lock. Then if
    you want to reduce battery consumption you will have to removes un necessary Resources
    yourself.

•   The Obscured event does not imply that the entire app UI is obscured. In many cases like for an
    incoming phone call, the UI is only partially obscured (at least until the call is accepted). the app
    does actually continue running, executing whatever operations it was performing when it was
    interrupted.

•   If you want to handle the Obscured and Unobscured events, you attach event handlers to the
    RootFrame object.

•   Cancelling Navigation Event - Navigations that are initiated by the user by interacting with your
    app UI can generally be cancelled,whereas navigations initiated by the user interacting with
    hardware buttons or initiated by the system generally cannot be cancelled. This can be accessed
    from NavigatingCancelEventArgs in NavigatedFrom Event.



                                                                                               Paxcel technologies. www.paxcel.net
                     This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
The Page Model

•   All the inter-app and intra-app instances are stored in a back stack as a
    collection of pages.

•   The inter-app backstack of app instances is limited to five apps but there is
    no hard limit to the number of intra-app pages that can be kept in the page
    backstack.

•   The app platform keeps track of which page (in a multipage app) the user
    was on when he navigated away.

•   The Creation order of pages might not be same as in original App.

•   One consequence of this is that the app should not rely on a hierarchical
    relationship between pages in terms of object lifetime.

•   Instead, all pages should be responsible for maintaining their own private
    state, and any state that is used across multiple pages should be held in the
    Viewmodel


                                                                                           Paxcel technologies. www.paxcel.net
                 This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
Thank You !




                                                                          Paxcel technologies. www.paxcel.net
This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.

More Related Content

PPTX
Paxcel Mobile development Portfolio
PPT
Windows Architecture
PPTX
Async pattern
PDF
Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011
PPTX
An introduction to microsoft power apps
PPTX
CCI 2019 - PowerApps for Enterprise Developers
PPTX
Sequence diagrams in UML
PPTX
What's New on the Facebook Platform, January 2012
Paxcel Mobile development Portfolio
Windows Architecture
Async pattern
Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011
An introduction to microsoft power apps
CCI 2019 - PowerApps for Enterprise Developers
Sequence diagrams in UML
What's New on the Facebook Platform, January 2012

Similar to Window phone 8 introduction (9)

DOCX
TOP 10 Powerapps.docx
PDF
Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...
PDF
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
PPTX
Windows Phone 7 and Silverlight
PPTX
Force.com: A Walk on the Enterprise Side
PDF
PPT
Catching up on Rich Clients Part 2 of 2
PDF
Interactive Applications in .NET
PDF
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
TOP 10 Powerapps.docx
Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...
aOS Moscow - E4 - PowerApps for enterprise developers - Fabio Franzini
Windows Phone 7 and Silverlight
Force.com: A Walk on the Enterprise Side
Catching up on Rich Clients Part 2 of 2
Interactive Applications in .NET
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Ad

More from Paxcel Technologies (8)

PPTX
Binary Class and Multi Class Strategies for Machine Learning
PDF
Ssrs 2012(powerview) installation ans configuration
PPTX
Introduction to UML
PDF
Risk Oriented Testing of Web-Based Applications
PPTX
Knockout.js explained
PDF
All about Contactless payments
PDF
Html5 deciphered - designing concepts part 1
PDF
Paxcel Snapshot
Binary Class and Multi Class Strategies for Machine Learning
Ssrs 2012(powerview) installation ans configuration
Introduction to UML
Risk Oriented Testing of Web-Based Applications
Knockout.js explained
All about Contactless payments
Html5 deciphered - designing concepts part 1
Paxcel Snapshot
Ad

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Cloud computing and distributed systems.
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
NewMind AI Monthly Chronicles - July 2025
Network Security Unit 5.pdf for BCA BBA.
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
The Rise and Fall of 3GPP – Time for a Sabbatical?
Cloud computing and distributed systems.
Bridging biosciences and deep learning for revolutionary discoveries: a compr...

Window phone 8 introduction

  • 1. Windows Phone 8 Architecture App Model and Navigation http://www.paxcel.net Contributors : - Pallavi Vasishta - pallavi.vasishta@paxcel.net Ranjan Baryal - ranjan.baryal@paxcel.net Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 2. Windows Phone Architecture Note : Although Win32/COM APIs are only shown in the Core Application box , they are actually callable by managed apps, as well, as long as they are wrapped in a custom WinPRT component. Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 3. App Types Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 4. App’s Lifetime Management Events Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 5. Transitions from Foreground App to Back stack The Closing case This is when an app terminates and receives the Closing event. This is unambiguous and simple to handle: it happens when a user presses the hardware Back button from the first page in the app, which kills the app instance and the process itself. The Deactivated case This is when an app is moved to the background and receives the Deactivated event. It happens when the user leaves your app in the back stack. The app must save sufficient transient state to recreate its current UI in case the user returns to the app instance, even if the process has been terminated in the meantime. – Tombstoning The app is deactivated and the process is killed, but the app instance is maintained. There’s nothing actively running or even sitting in memory, but the system remembers the app’s critical details and can bring it back to life if needed. – Fast app resume The app is deactivated and then immediately reactivated, without being tombstoned in between. Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 6. Normal Termination Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 7. Fast Resume State Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 8. Tombstone State Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 9. Some Fact About Deactivating App • In the fast app resume scenario, the IsApplicationInstancePreserved property is true on Application.Activated, whereas in the tombstone scenario, the IsApplicationInstancePreserved property is false on Application.Activated. • The system retains only five apps on the backstack, including the one that is currently active. As soon the user launches the sixth app, the app at the beginning of the backstack (that is, the one that was used least recently) is discarded completely. • If memory pressure increases to the point at which the system needs to reclaim memory from deactivated apps, it will first start tombstoning apps from the end of the back-stack. Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 10. Resource Management During Deactivation of Apps • When App is Deactivate especially hardware resources such as sensors, and camera etc. , which can only be used by one app at a time can be deactivated using standard OnNavigatedFrom and Deactivated events. However, if you do not proactively release resources, the framework will do the job for you. It’s best to keep control of this yourself so that you can track which resources you were used and reinstate them as needed, if the app is later reactivated. Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 11. Resuming The App • When an app is reactivated from the deactivated state, the framework resumes timers and threads, and reattaches some (but not all) resources that it previously detached. The developer is responsible for reconnecting/resuming media playback, HTTP requests, sockets, and the camera. Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 12. Obscured And Cancelling Navigation Events • Some external operations Lock Button Pressed merely result in the app becoming temporarily obscured. In this scenario, there is no NavigatedFrom or Deactivated event. Instead, the system raises an Obscured event. • The system’s normal assumption is that if an app is running and the lock screen engages, it is reasonable to deactivate the app. • By disabling ApplicationIdleDetectionMode, the app can continue to run under screen lock. Then if you want to reduce battery consumption you will have to removes un necessary Resources yourself. • The Obscured event does not imply that the entire app UI is obscured. In many cases like for an incoming phone call, the UI is only partially obscured (at least until the call is accepted). the app does actually continue running, executing whatever operations it was performing when it was interrupted. • If you want to handle the Obscured and Unobscured events, you attach event handlers to the RootFrame object. • Cancelling Navigation Event - Navigations that are initiated by the user by interacting with your app UI can generally be cancelled,whereas navigations initiated by the user interacting with hardware buttons or initiated by the system generally cannot be cancelled. This can be accessed from NavigatingCancelEventArgs in NavigatedFrom Event. Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 13. The Page Model • All the inter-app and intra-app instances are stored in a back stack as a collection of pages. • The inter-app backstack of app instances is limited to five apps but there is no hard limit to the number of intra-app pages that can be kept in the page backstack. • The app platform keeps track of which page (in a multipage app) the user was on when he navigated away. • The Creation order of pages might not be same as in original App. • One consequence of this is that the app should not rely on a hierarchical relationship between pages in terms of object lifetime. • Instead, all pages should be responsible for maintaining their own private state, and any state that is used across multiple pages should be held in the Viewmodel Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.
  • 14. Thank You ! Paxcel technologies. www.paxcel.net This is the exclusive property of Paxcel Technologies. This may not be reproduced or given to third parties without their consent.