自从Windows Phone 7问世以来,其多任务的能力就一直是个谜。到底是否支持多任务一直是大家关注的一个重点。直到本月的MIX大会上,谜底才真正揭晓:Windows Phone 7 Series将不再支持第三方应用软件的多任务。这一消息对开发人员以及关注Windows Phone 7 Series的用户来说不亚于投下一颗重磅炸弹!不支持多任务?从Windows Mobile的历史上看来微软一直是支持多任务的,为什么现在要做改变呢?
让我们看看目前主流智能机的多任务现状吧:
看样子除了iPhone之外大家都是多任务系统,而且传说iPhone 4代将要改为支持多任务的系统。那么为什么微软要逆天下而行,推出一个不支持多任务的手机操作系统呢?
这就不得不谈谈多任务的应用情景了。大家通常使用手机的时候,需要用到的多任务场景无在乎有以下几种情况:
- 一边听歌,一边做某些日常的手机应用(例如上网、看新闻、发邮件等等。。。反正这时候通常只会做一件事情)。
- 一边开着QQ或者Windows Live Messenger来和朋友聊天,一边做某些日常手机应用操作。
- 手机启动后,有一个后台进程/服务/应用程序启动,用来做一些杀毒或者防垃圾邮件或者来电显示等等用途。
- 手机启动后,有一个后台进程/服务/应用程序启动,用来自动从网上更新某些信息下来。
对于这么多种多任务应用场景,微软的Windows Phone 7 Series的多任务解决方案如下:
- 微软的Windows Phone 7的内置程序都是可以在后台运行。所以,你想要一边听歌一边做别的事情是完全可以做到的。当然,如果您想要使用别的第三方的播放器,非常抱歉。。。。。。
- 通过Push Notification服务,可以讲消息及时的从服务器上推送到你的手机上。就算是你的软件当时没有运行,也能收到针对他的Push Notification消息,这时候会给用户以提示确定是否打开你的应用软件。
- 非常抱歉,后台的服务类的程序时没有戏了。您将不能编写Windows Phone 7上的服务。 杀毒软件。。。这个倒是不用太过于抱怨,因为微软要求所有的软件都能运行在独立的安全的“沙箱”之中,而且所有软件必须经过审核然后通过Windows Marketplace for Mobile分发给用户。所以病毒之类的东西基本在Windows Phone 7上是无法立足的。对于防垃圾短信或者来电显示之类的东西,对于普通ISV来说也很困难,只能是OEM厂商才能涉及的内容了。
- 后台更新信息,也可以通过Push Notification的方式来处理。
总结:
尽管因为节电以及安全的原因,Windows Phone 7 Series去掉了第三方应用程序的多任务处理的能力。但是话又说回来,通过程序终止之前的消息,我们可以将目前状态保留以便下次恢复。而且基本上通过Windows Phone 7 Series的Push Notification可以满足应用在后台停止之后接收消息的需求,这样可以满足绝大部分多任务的场景。但是对于要想作为系统的服务那样存在的需求,Windows Phone 7 Series对于普通的ISV是无法办到的。
最后,iPhone在上市的时候也是不支持多任务的,但是仍然有高手将其通过软件的形式改造成了多任务切换。或许在Windows Phone 7 Series上市后也会出现这样的应用来满足大家的需求。