WP7不支持多任务?应用运行机制分析

来源:未知 责任编辑:责任编辑 发表时间:2014-02-18 03:26 点击:

依旧是微软周二发布的Windows Phone 7 Beta版开发工具,在黑客们动手将其破解并提取了内置的铃声和壁纸之后,微软官方开始了更为深入的新特性讲解。其中最受用户关心的就是Windows Phone 7是否支持多任务,微软开发博客就WP7的应用切换机制进行了分析。

首先来说一些WP7系统程序运行的基本规则,微软不允许任何第三方应用程序在WP7的后台运行,特定时间内只有一个应用程序的在前台运行如果你的应用程序没有在前台显示,就表示这些程序并没有运行,这样就不耗费运行内存和处理器资源。这样做主要是为了延长电池续航时间,并保证响应一致的用户体验。

但是所有的WP7手机都将配备返回按钮硬件,这个按钮除了有返回导航功能之外,还将支持应用程序之间的切换,比如当你在某个应用程序时点击了里面的网页链接,然后调用内置浏览器进行查看,在查看完毕之后就可以按返回键重新返回刚才的程序。

现在问题就出来来,当前的应用程序切换回之前的应用时,究竟是恢复了一个应用还是重新打开了这个应用呢?因为刚才已经说过了,WP7不允许后台运行程序,而两者的区别就是,重新打开时不会保持刚才的使用状态,恢复是可以延续使用状态的,这就要说到微软的墓碑(Tombstone)机制了。

墓碑是微软为WP7切换应用程序状态的一种处理机制,以使用过程为例,当用户正在使用一个应用程序,比如游戏或者新闻阅读,这时有电话打进来,来电提示和通话页面将会在前台显示,正在运行的游戏就会消失,但是WP7不允许后台运行应用,这时候墓碑机制就会触发,游戏的运行状态包括画面、进度等等数据会冻结保存,相当于暂停,但是游戏确实没有运行,这也是墓碑名字的含义:应用程序已经死了,但是墓碑上记录有临终前的所有状态。当通话结束后,游戏操作系统会将应用程序进程重新启动,并将状态数据传递为应用进行恢复,这也相当于应用从墓地里面爬出来,并按照墓碑上记录的状态进行还原。

在程序代码示例中,微软给出了单个应用程序的运行状态代码,共有四个App.xaml.cs文件,这些直接关系到执行模式的代码分别是Application_ Launching、Application_ Activated、Application_ Deactivated、Application_ Closing,分别是启动、复活(激活程序恢复状态)、停用(记录墓碑数据)、关闭(彻底关闭)。开发者们需要注意的是,在开发过程中需要使用微软给出的工具和相关代码才能让自己的应用支持墓碑机制,否则当用户正在使用的时候突然一个电话过来之后就得再次手动打开程序重头再来,这会让用户非常不爽。

在早期的WP7系统中,微软并没有在程序不运行的时候将进程彻底杀死,而是将其暂停,但是这种情况导致了后台运行堆栈的混乱,API和事件触发经常会出现问题,所以微软才决定使用墓碑机制。

不过完全实行墓碑机制将会影响到电话的某些功能,比如短信、即时通信、天气等需要时刻保持运行和更新的应用,微软同样给出了推送通知服务(Push Notification Services)的API,允许应用程序调用该接口保持实时更新。

如果想对微软的应用程序执行模式和Beta版开发工具包有更详细了解的用户,可以前往windowsteamblog.com/windows_phone/b/wpdev/" target=_blank>微软的官方博客进行了解。

WP7不支持多任务?应用运行机制分析

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • dos命令原来也能这样用?允许查找未知子目录指定文件
  •  windows的磁盘操作之八——格式化分区的思考
  • windows篇-第三章 安装和配置DNS服务器
  • windows篇-第二章 安装和配置Web服务器
  • windows篇-第一章 windows server 2008安装和简单配置
  •  windows server 2003断开远程之后自动注销用户
  • Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法
  • Windows 2008 R2 SP1部署WSUS 3.0 SP2
  • windows 2008 rodc扩展

快速直达

操作系统导航

LinuxWindows虚拟机
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1