目前的智能手机,硬件上已经可以媲美几年前的PC机了,1G内存,512M以上内存,3.5以上的屏幕,3G,WIFI等等都成为了新的手机的最低标准。而Windows Phone也一改以往WM手机硬件差异大的问题,设定了最低的硬件标准。相对于以前系统,性能上,操作上,流畅度上也有了很大提高。但是电池的发展远远跟不上手机的耗电量。大的也就1500MA的电池,最多也就使用1天多,大部分每天都用充电。为了节约电量,各个平台的手机都推出了一些省电的措施。
对于Windows Phone来说,刚推出时和Iphone第一版一样,不支持多任务,一方面是为了给前台程序提供更多的资源,更流畅的体验,另一方面也是为了介绍电池的消耗。同事采用了消息推送机制来完成一部分后台操作,也使用了一种名为墓碑机制来对实现所谓的了“伪多任务”。 到了最新的“芒果”系统,已经支持了多任务,但也不同于以往WM说或PC上的多任务,也改进了墓碑机制,加快了程序间的切换。我们这一篇文章就了解下Windows Phone平台的伪多任务。
一 伪多任务
在我们使用PC和WM系统时,多任务对我们来说是理所应当的。一边听歌,一边上QQ,还能上微博发照片。可到了Windows Phone上却不支持多任务了,对于一个新的智能系统来说,确实无法让人接受。但是多任务存在一个问题就是如果开的任务过多,系统用起来就会比较卡,在WM系统中这种情况比较常见。为了提供用户的体验,目前的一些智能系统都放弃了这种传统的多任务方式,而采用了伪多任务,有限制的多任务和消息推送这些方法。
所谓的伪多人他并不是真正的多任务,只是通过一些处理,让用户使用起来感觉不到和多任务有什么区别。在Windows Phone中采用了墓碑机制来实现伪多任务。墓碑这个名字也很恰当。当我们运行了一个程序后,切换到另一个程序,这时因为是单任务,第一个程序会被终止掉,但是采用墓碑机制,保存了程序当前的状态和数据,当我们在切换回的时候,虽然是启动了一个新的实例,但是可以通过墓碑来恢复到之前的状态,所以用户感觉不到有什么区别。
墓碑机制是系统自动完成的,但是数据的保存和恢复则是我们通过代码控制的。另外墓碑机制也不是万能的,因为此时程序是终止的,如果有一些下载,播放,计时的功能就无法通过墓碑机制完成到了。Windows Phone 7则通过推送机制来解决部分问题,而WP7.1 SDK中也提供了一些后台操作来解决这些问题,这一篇文章我们主要介绍墓碑机制。