Windows 8 动手实验教程 实验5:进程生命周期管理

动手实验

实验5:进程生命周期管理

2012年9月

简介

进程生命周期管理对构建Windows应用商店应用的开发者来说是需要理解的最重要的概念之一。不同于传统的Windows应用(它们即使在后台仍然继续执行),Windows应用商店应用仅在前台时执行。通常不可见的应用程序被操作系统挂起并且不能被执行直到操作系统将它恢复到前台。

当应用程序被挂起,它仍然在内存中,同时它的所有线程被挂起。只要进程仍然在内存中,当应用程序回到前台时,它将从停止的地方继续执行。要做到这一点开发者不需要做任何工作。然而您不能被保证进程一直在内存中。如果当应用程序被挂起时,Windows内核决定需要挂起应用程序所使用的内存,Windows可以终止挂起的应用程序。当应用程序被终止时,所有未保存的状态将被丢失。除非您采取步骤以保持状态,否则当用户返回应用程序并发现所有已完成的工作被丢失时将会非常吃惊。

显然我们不会允许它发生。当应用程序被挂起时,即使Windows也不知道应用程序是否最终将被终止。您应当假定应用程序将被终止,因此您必须编写代码以在它被挂起时保存应用程序的状态。然后如果您检测到应用程序被挂起时有一个终止发生,您可以在重新激活时恢复状态。

听起来很麻烦?有时是,但是对大多数应用程序来说不是,并且这是您编写优秀应用程序必须做的工作。不做上述工作的潜在代价是仅仅切换到另一个应用程序就会丢失他或她在您应用程序中所做的所有工作。

目标

本实验将向您介绍进程生命周期管理并向您展示Visual Studio在缺省模版中为您编写的一些代码。因为Contoso食谱是一个简单的应用程序,所以我们不需要编写新的代码来处理进程生命周期管理,Visual Studio注入的代码已经足够。您可能必须为自己的应用程序编写更多的代码,因此我们将告诉您代码的位置以及您可以使用哪些应用程序接口(API)。停止打字并坐下来休息一下,但是请务必集中注意力。

系统要求

您需要下列软件完成本实验:

Microsoft Windows 8

Microsoft Visual Studio 2012

设置

您必须执行以下步骤来准备本实验的计算机:

1.安装Microsoft Windows 8。

2.安装Microsoft Visual Studio 2012。

练习

本动手实验包含以下练习:

1.导航状态已经被保存

2.提示

练习1:导航状态已经被保存

因为在Contoso Cookbook中唯一需要保存的状态是导航状态(即用户查看的项或组以及导航历史),您不需要为处理进程生命周期管理做任何工作。Visual Studio在您的应用程序中包含一个名称为SuspensionManager的类,它位于项目Common文件夹的SuspensionManager.cs中。Visual Studio同时在App.xaml.cs中的App构造函数中包含一行代码,它为Suspending事件注册了一个事件处理程序。如此处所示,处理程序OnSuspending调用SuspensionManager.SaveAsync以保存应用程序的导航状态。

private async void OnSuspending(object sender, SuspendingEventArgs e)

{

   var deferral = e.SuspendingOperation.GetDeferral();

   await SuspensionManager.SaveAsync();

   deferral.Complete();

}

Visual Studio在App.xaml.cs文件的OnLaunched事件中包含一个if子句,它的作用是如果应用程序在被挂起后被操作系统终止,则恢复应用程序的导航状态。

if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)

{

   // Restore the saved session state only when appropriate

   await SuspensionManager.RestoreAsync();

}

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/

时间: 2024-08-30 17:25:49

Windows 8 动手实验教程 实验5:进程生命周期管理的相关文章

Windows 8风格应用开发入门 三十 应用生命周期管理

开发入门 三十 应用生命周期管理-风格型产品生命周期"> Windows 8 中可以启动多个应用并在其中切换,我们没有必要担心降低系统速 度或消耗电池电量. 因为系统会自动挂起(有时会终止)在后台正在运行的应用.设计良好的应用可 以由系统挂起.终止以及重新启动,并且这些过程看起来该应用一直在运行中. 一.原理 1.当激活了应用时,无论任何原因,系统都会发送 Activated 事件 2.每当用户切换到桌面 或其他应用时,系统都会挂起你的应用,系统会发送Suspending事件 3.每当用户

Android中进程生命周期的优先级

学习Android最好的途径当然是强大的官方文档了,其中在Processes and Threads一节中对于进程生命周期淘汰优先级,有着详细的介绍.就不给大家转帖了,直接放译文吧,如下: Android系统会尽量维持进程的存在,但毕竟资源有限,当系统资源告急的时候会淘汰一部分进程.淘汰顺序的凭据就是系统进程的优先级了,优先级越高越不容易被杀死,反之亦然.系统总共为进程分了五个优先级,如下 一.前台进程(进程满足如下任一条件即为前台进程): 1. 拥有 一个执行了onresume方法正在与用户交

Windows 8 动手实验教程 实验1:创建Windows应用商店应用

Contoso Cookbook是一系列的动手实验教程,这些实验被设计用来使您沉浸于Windows应用商店应用的开发.当您完成本实验后,您将创建一个漂亮并实用的真实应用程序.该应用程序将使用Window8中的一些关键的新特性.通过本系列实验,您将了解很多创建优秀Windows应用商店应用的知识,包括: 采用GridView, ListView, FlipView, AppBar 和 SemanticZoom等Windows 8控件的用户体验. 可扩展到大小不同尺寸显示器并提供对辅屏和不同方向进行

Windows 8 动手实验教程 实验7:磁贴和通知

动手实验 实验7:磁贴和通知 2012年9月 简介 磁贴是Windows应用商店应用用户体验的重要元素.当应用程序被安装后,它的磁贴将在Windows 8开始屏幕被创建.该磁贴(称为主磁贴)作为启动应用程序的快捷方式.默认情况下,主磁贴的图像来自Logo.png文件,它由Visual Studio包含在Window应用商店项目中.图像大小为150X150像素,并由它创建了一个正方形磁贴.然而,通过向项目添加一个310X150的图像并在应用程序清单中将它指定为"宽徽标",您可以同时在应用

Windows 8 动手实验教程 实验6:设置和首选项

动手实验 实验6:设置和首选项 2012年9月 简介 实验3介绍了合约并演示了应用程序如何轻松地与共享和搜索合约实现集成.合约同样包含设置超级按钮,它对活动的Windows应用商店应用的设置进行修改.在您选择设置超级按钮时出现的设置窗格中,操作系统提供一个权限命令,它允许用户启用或禁用程序的某些功能,例如对网络摄像头和麦克风的访问.值得注意的是您可以向设置窗格添加命令并将它们连接到设置页面.这为用户提供了方便地访问首选项,关于框和其他应用程序特定的设置内容. 在本实验中,您将向Contoso C

Windows 8 动手实验教程 实验8:Windows应用商店API

动手实验 实验 8: Windows应用商店API 2012年9月 简介 编写Windows应用商店应用最令人瞩目的理由之一是您可以方便地将它们发布到Windows应用商店.考虑到世界范围内目前有超过7亿台PC运行Windows 7,并且每台PC代表一个潜在的Windows 8升级,市场和收入潜力是巨大和多样的.鉴于收入分享计划将高达80%的销售收益分配给作者,开发者具有编写优秀应用并将它们提供给用户的充分动机. 应用商店具有灵活的盈利选项:您可以提供试用,一次性购买,应用内购买,第三方电子商务

Windows 8 动手实验教程 实验4:应用栏和媒体捕获

动手实验 实验4:应用栏和媒体捕获 2012年9月 简介 Windows运行时中的Windows.Media.Capture命名空间包含一系列类,它们为捕获媒体并将其纳入Windows应用商店应用提供便利.尤其是CameraCaptureUI类使得从网络摄像头拍照和捕获视频变得轻而易举.CameraCaptureUI甚至可以处理包含两个摄像头的设备(一个前置,一个后置),并为在两者之间进行切换提供简单.直观的用户界面. 在本实验中,您将通过允许用户拍摄他们喜爱的食谱创作的照片和视频并与其他应用程

Windows 8 动手实验教程 实验3:搜索和共享

实验3:搜索和共享 2012年9月 简介 Windows 8用户体验的关键特点之一是对超级按钮的使用.它响应轻扫或Windows徽标+C键,并从屏幕右侧滑出.这些按钮("超级按钮")为Windows应用商店应用提供了一种以一致方式在应用程序之间公开常用功能的手段.例如,如果您需要在应用程序中执行搜素,您可以选择搜索超级按钮并在搜索窗格中输入一个搜索条目.用户界面和调用上述界面的操作在每个应用程序中都是一样的.为了与另一个应用程序共享数据,您使用共享超级按钮.一个支持共享的应用程序就可以

Windows 8 动手实验教程 实验2: 方向, 贴靠和语义式缩放

动手实验 实验2: 方向, 贴靠和语义式缩放 2012年9月 简介 优秀Windows应用商店应用的一个特点是适应不同尺寸的屏幕并处理横向模式和纵向模式之间的旋转.它还必须响应贴靠,贴靠允许两个应用程序共享屏幕和并排运行. 另一个与屏幕尺寸有关的特性是语义式缩放.不同于视觉缩放,它通过响应收缩手势等用户交互简单地对屏幕上的内容进行缩放,当用户放大或缩小时,语义式缩放对内容的呈现进行修改以显示或多或少的细节. 在本实验中,您将在实验1的基础上增加三个与Contoso Cookbook有关的重要用户