应用状态关系转换图

根据此“应用状态关系转换图”。有以下:

三个状态:

NotRunning:未运行    Running:运行中   Suspended:挂起

三个事件:

Activated        在未运行状态,打开应用      

Resuming           恢复状态,挂起的应用恢复运行

Suspending   挂起状态,用户离开界面将挂起

我们来梳理一下程序运行过程。

1.在应用未运行的时候,处于NotRunning状态。第一次进入应用后,触发Activated,进入Running状态

2.应用由运行状态转到挂起状态时,触发Suspending,进入Suspended状态

3.

  a.当重新进入应用的前,如果处于挂起状态,就触发Resuming 进入到Running状态

  b.当应用完全关闭后,再次进入应用  就会触发Actived.

较完整的运行过程:

第一次进入应用步骤: 实例化App类  -->  调用OnLuanched()  -->  rootFrame.Navigate(typeof(MainPage))

(跳转到MainPage中)  -->  实例化MainPage类  -->  OnNavigatedTo  -->  NavigationHelper中的OnNavigatedTo  -->  LoadState(取出状态)

当应用挂起时候,调用App.Suspending  -->  OnNavigatedFrom  -->  NavigationHelper中的OnNavigatedFrom  -->

SaveState(保存状态)  -->  MainPage.Suspending

当应用重挂起恢复的时候:Resuming    (此时不再像以前一样,不会调用OnNavigatedFrom)

On Windows Phone, OnNavigatedFrom() is called when the app is suspended.

OnNavigatedTo() is not called when the app is resumed.

所以我還要加一句

Once the Application is closed, the resumed will not be called;

PS:有关调试时的注意事项,可以参照前面的一篇文章。WindowsPhone8.1RT建立空白应用挂起没反应的解决方案

以及我在微软社区的问题:WP8.1 重写OnNavigatedFrom 打断点进不去

WP8.1 RT 生命周期详解‏‏‏‏‏‏‏‏‏‏‏‏‏的更多相关文章

  1. ASP.NT运行原理和页面生命周期详解及其应用

    ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用.  ...

  2. ASP.NET生命周期详解

    最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...

  3. ASP.NET生命周期详解 [转]

    最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...

  4. ASP.NET生命周期详解(转)

    看到好文章需要分享. 最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多 ...

  5. React—组件生命周期详解

    React—组件生命周期详解 转自 明明的博客  http://blog.csdn.net/slandove/article/details/50748473 (非原创) 版权声明:转载请注明出处,欢 ...

  6. 【转】Java 类的生命周期详解

    一. 引 言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大 ...

  7. activity的生命周期详解

    刚在看mars老师的视频,看到activity的生命周期,就看了一下,总结了一下.下面是各函数的调用时机 为了更清楚的看清楚工作的具体过程,举例如下: ,建立两个activity,一个main,一个a ...

  8. Asp.net页面生命周期详解任我行(3)-服务器处理请求详细过程

    前言 百度了一下才知道,传智的邹老师桃李满天下呀,我也是邹老师的粉丝,最开始学习页面生命周期的时候也是看了邹老师的视频. 本人是参考了以下前辈的作品,本文中也参合了本人心得,绝非有意盗版,旨在传播,最 ...

  9. Vue生命周期详解

    Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...

随机推荐

  1. ADO.net 连接字符串中的 |DataDirectory| 是什么

    |DataDirectory| does not come from config settings; you're mixing up three different things: Configu ...

  2. 解决:PADS导入.DXF结构图出现坐标超出范围问题

    现象: 原因: PCB尺寸是有限的,PADS中对于坐标大小有所限制,但AUTO CAD中的坐标却是无限制的. 解决方法: 1.在AUTO中使用M命令,将绘制的结构图移动至原点: 2.在AUTO中使用W ...

  3. iOS 2D绘图 (Quartz2D)之Transform(CTM,Translate,Rotate,scale)

    前言:Quartz默认采用设备无关的user space来进行绘图,当context(画板)建立之后,默认的坐标系原点以及方向也就确认了,可以通过CTM(current transformation ...

  4. 使用startActivityForResult场景模拟

    效果图如下,当我从第一个界面选择供应商的时候,我希望能得到第二个界面选择的供应商的值: 具体代码,这里第二个参数为自定义的大于等于0的数字,用来标记当前跳转. Intent i1 = new Inte ...

  5. oracle 32位导64位

    oracle 32位导64位 SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ; ; ALTER ...

  6. mtr命令详解

    原文地址:http://blog.hexu.org/archives/1050.shtml 一般在windows 来判断网络连通性用ping 和tracert,ping的话可以来判断丢包率,trace ...

  7. Spring MVC 处理静态资源不能访问问题

    在web.xml文件中加入如下代码: <servlet-mapping> <servlet-name>default</servlet-name> <url- ...

  8. 【UOJ #13】【UER #1】跳蚤OS

    http://uoj.ac/problem/13 建立trie树,然后建立go指针, 和AC自动机里的fail指针差不多, 走到一个快捷方式就从go指针走. 注意在trie树上要保留字符'/',不能用 ...

  9. tomcat处理中文文件名的访问(乱码)

    解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码.Tomcat内置的对于get协 ...

  10. Html页面禁止鼠标左键复制

    <body leftmargin=0 topmargin=0 oncontextmenu='return false' ondragstart='return false' onselectst ...