Windows8 08-进程生命周期管理_第1页
Windows8 08-进程生命周期管理_第2页
Windows8 08-进程生命周期管理_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

动手实验进程生命周期管理实验版本:1.0.0最后更新日期:9/13/2013概述对Metro开发人员来说,进程生命周期管理(PLM)是最重要的概念之一。传统的Windows应用在后台时仍然可以继续执行,而Metro风格的应用只有在前台时才能执行。但是,也存在一些特殊情况,当屏幕上并排显示两个Metro应用时,其中一个Metro应用会在后台使用WindowsRuntime的后台任务API执行代码。但是,通常情况下,如果操作系统将一个Metro应用挂起的话,该应用对于用户是不可见的,而且只有从后台转向前台后才能执行。当一个应用被挂起后,它的所有线程也会被挂起,而且,它们通常仍然保存在内存中。只要进程仍然在内存中,那么当它回到前台后就会从暂停的位置继续执行,在这个过程中,开发人员无需做任何工作。但是,关键的问题是开发人员无法保证进程始终在内存中。如果一个Metro应用被挂起,Windows判断它需要更多内存才能继续执行,可能就会结束该应用。这样的话,就会导致应用的所有状态都丢失了。因此,除非采取某种措施保存应用的状态,否则当用户切换到应用时,就会发现他们所作的工作全部丢失了,这样会使他们非常不解。显然,我们不能允许这种情况的发生。因为您根本不知道是否要结束一个挂起的应用(当应用挂起的时候,甚至Windows也不知道是否最终会结束该应用)。但是,您必须假设该程序将会被终止,因此,您需要编写代码来确保在应用被挂起后保存它的状态,这样当它被激活后就可以恢复状态了——当然,仅当您能够检测到挂起的应用会被终止时才需要这样做。您是不是听起来觉得非常复杂?的确是这样。但是,在编写每个Metro风格的应用时,您必须使用这样的方法。不然的话,仅仅是从一个应用切换到另外一个应用,用户可能就会丢失所做的全部工作。但是,现在在MovieDang项目中我们只需要保存应用的导航状态一用户所查看的电影条目或电影组的信息和导航历史,在处理PLM时,你并不需要去做好每一件事。默认情况下,VisualStudio在default.js中的app.oncheckpoint函数就会在应用的状态发生改变时,把当时的导航状态保存至U会话状态中:app.sessionState.history=nav.history;另外,如果应用在挂起时被终止,那么VisualStudio就会在应用下次启动时恢复当时的导航状态:if(app.sessionState.history)nav.history=app.sessionState.history;}这样,我们开发人员就轻松多了。如果,MovieDang被挂起后不久就被终止了,我们不需要做任何事,在应用下次重新启动时,页面就会自动跳转到上次的打开页面。你可以在VisualStudio中按F5键测试一下,选择一个电影条目之后,点击VisualStudio导航菜单中的挂起并关闭选项:按照这种方式关闭应用程序之后,再按F5重新启动应用程序。我们用这种方式模拟操作系统关闭和重新启动某个应用程序。由于VisualStudio为我们做了很多工作,所以在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论