如今我们在电脑上使用程序的时候,已经对多任务习以为常了吧,任何时候都可以直接在多个同时运行的任务之间来回切换有什么难事?但假如你手上的手机拥有的只有1.5Ghz的单核处理器,并非什么2.6Ghz性能强劲的双核处理器,自然就会对多任务运行束手无策了吧。在凯旋的WP7系统上我们可以看到微软为其切换应用程序状态的墓碑机制。简单的说就是你正在玩游戏时手头需要做什么事,于是你就保存记录暂时离开,当你回来之后继续之前的记录进行游戏。
譬如用户正好在玩游戏或者刷微博,这时有电话打进来,来电提示和通话页面将会在前台显示,而之前运行的游戏就会消失。而微软为了保证手机的流畅性,不允许任何第三方应用程序在WP7的后台运行,特定时间内只有一个应用程序的在前台运行,这时墓碑机制就会触发,游戏的运行状态包括画面、进度等等数据会冻结保存,但是游戏进程会直接关闭。这也是墓碑名字的含义:应用程序已经死了,但是墓志铭上还留有临终前的所有状态。当通话结束后,游戏操作系统会将应用程序进程重新启动,并将状态数据传递为应用进行恢复,这也相当于应用从墓地里面爬出来,并按照墓志铭上的记录状态进行还原。
但是WP7不允许后台运行应用,这时候墓碑机制就会触发,游戏的运行状态包括画面、进度等等数据会冻结保存,相当于暂停,但是游戏确实没有运行,这也是墓碑名字的含义:应用程序已经死了,但是墓碑上记录有临终前的所有状态。当通话结束后,游戏操作系统会将应用程序进程重新启动,并将状态数据传递为应用进行恢复,这也相当于应用从墓地里面爬出来,并按照墓碑上记录的状态进行还原。在WP7上面,墓碑机制只能通过手机上的返回键来进行,这也是WP与Android的不同之处。Android的返回键是返回一个应用之前的界面,而WP则是在不同的应用之间来回切换,只要该应用是你之前所打开的那个。
Windows Phone最多可以支持5个应用程序的墓碑化,我们通过长按返回键就能看到墓碑化的应用列表(当然,有时候其多余5个的原因是微软本身内置应用不计算在内,只有第三方开发的应用程序才算),如果你不小心触碰到了手机的Win键,除了可以点击返回键回到之前的应用中,也可以直接长按返回键打开墓碑列表,这时候你就可以进行跳跃操作,可以在5个墓碑中随意选择一个,而这些程序都会直接进入退出前的状态。当然,你也可以选择在应用列表中再次打开应用,WP在这里的设置与其他手机系统稍微有些差异:他会直接重新打开该应用,并非像Android或iOS那样读取缓存。