本文主要說一說WP7手機(jī)的一個(gè)重要特點(diǎn),那就是對于后臺任務(wù)的管制,這個(gè)是對普通用戶最為重要的,不過先聲明并不是說的mango更新里新增的多任務(wù)切換的墓碑機(jī)制,而是WP7對于在后臺運(yùn)行的程序的種種限制,通過了解這些限制可以看看WP7是怎樣幫消費(fèi)者出出在Android平臺里被流氓軟件偷偷跑后臺的這口怨氣的。
多任務(wù)運(yùn)行大家都領(lǐng)教過,從Windows系統(tǒng)到古老的Windows Mobile,還有Android都支持實(shí)時(shí)多任務(wù)機(jī)制。我們可以一邊聽歌一邊上網(wǎng),一邊打游戲還能抽空出去聊個(gè)QQ,不過這也給普通用戶帶來了困擾,以馬大嘴旗下的淘寶官方客戶端為例,各種自己霸占后臺不打招呼,關(guān)閉了所有需要推送的功能還是照開不誤。偷流量,占內(nèi)存不說,某些程序甚至還把自己加入到系統(tǒng)服務(wù)列,讓用戶無法以常規(guī)手段關(guān)閉,感覺這些開發(fā)商活的好累啊,可是WP7敲響了這些人的末日喪鐘。因?yàn)檎麄(gè)WP7系統(tǒng)對于后臺任務(wù)做了嚴(yán)格而苛刻的限制。
從系統(tǒng)設(shè)計(jì)來說,WP7的后臺任務(wù)分為兩種,Periodic Task(周期任務(wù))和Resource Intensive Task(資源密集型任務(wù)),前者用于程序在后臺更新一下Live Tile,或者聯(lián)網(wǎng)查個(gè)天氣更新這種小任務(wù),后者用于在線下載這種需要長時(shí)間執(zhí)行的大任務(wù)。
(1)一個(gè)程序能不能開后臺,完全取決于用戶的選擇
在系統(tǒng)設(shè)置里,專門有一項(xiàng)控制后臺程序,所有想在后臺運(yùn)行的程序都會在這里一項(xiàng)項(xiàng)列出來,想走后門?先問問用戶允許不允許吧,在這里你除了可以看到所有的程序列表,還可以看到該程序在開發(fā)時(shí)所填寫的為什么要后臺運(yùn)行的理由,所有程序就像一個(gè)個(gè)做了錯(cuò)事的孩子等待父母的教誨。
(2)對于用戶沒有吸引的程序,開了后臺也堅(jiān)決關(guān)閉
WP7系統(tǒng)規(guī)定,所有后臺任務(wù)的生效時(shí)間只有14天,也就是說,14天的周期中,如果你都沒有再開過這個(gè)程序,那系統(tǒng)將自動關(guān)閉該程序的后臺運(yùn)行。比如你下載了一個(gè)新奇的應(yīng)用,在你第一次打開它的時(shí)候它開啟了后臺運(yùn)行機(jī)制,但是可憐的它由于制作太爛導(dǎo)致你在剩下的14天中都沒有開啟它。并且由于工作的繁忙,你也沒有去查看設(shè)置里的后臺任務(wù)列表。呵呵沒關(guān)系,系統(tǒng)自動就關(guān)閉了這小子。
(3)就算了你僥幸讓用戶開了后臺,代碼沒優(yōu)化好照樣被關(guān)
到MANGO,也就是WP7.5,系統(tǒng)規(guī)定程序在后臺運(yùn)行的時(shí)候內(nèi)存占用不能超過6MB,否則立即終止;同時(shí)也要求程序員對于程序代碼慎之又慎,如果程序在后臺運(yùn)行時(shí)連續(xù)崩潰兩次那么系統(tǒng)也將立刻關(guān)閉該程序在后臺運(yùn)行的權(quán)限。
(4)如果程序?yàn)E用后臺運(yùn)行權(quán)限,系統(tǒng)也將立刻終止
所有后臺運(yùn)行的程序每30分鐘運(yùn)行一次,每次最多執(zhí)行25秒,超時(shí)后立即終止,想借助特權(quán)胡作非為么?WP7將直接代替用戶對你說NO.
(5)對于需要長時(shí)間執(zhí)行后臺的程序,系統(tǒng)也提供了途徑
剛才說的Resource Intensive Task在這里就派上了用場,可惜由于這些資源密集型任務(wù)需要資源過多,系統(tǒng)也將嚴(yán)格限制,除了剛才說的前3條之外,還有其余額外的限制,那就是:
a)電池電量不得低于90%,而且需要連接外部電源;
b)需要非手機(jī)網(wǎng)絡(luò)連接,連著WIFI或PC吧,親;
c)屏幕必須鎖定,也不能接打電話,否則不執(zhí)行;
d)最多執(zhí)行10分鐘,超時(shí)立即終止;
結(jié)語
可以看出,無論從Windows Phone生態(tài)體系的構(gòu)建,還是到WP7系統(tǒng)的細(xì)節(jié)設(shè)計(jì),微軟都展現(xiàn)出強(qiáng)大的控制欲,尤其對于后臺運(yùn)行的程序這一塊,這將帶領(lǐng)用戶進(jìn)入一個(gè)“我說了算”的時(shí)代,流氓不怕,會武術(shù)的流氓也不怕,只要你為WP7寫APP,你就要服管,即使用戶不懂這些機(jī)制,微軟依然會對程序進(jìn)行嚴(yán)格的管制,以期給用戶提供一個(gè)良好的體驗(yàn)。