如今我們在電腦上使用程序的時候,已經(jīng)對多任務(wù)習(xí)以為常了吧,任何時候都可以直接在多個同時運行的任務(wù)之間來回切換有什么難事?但假如你手上的手機擁有的只有1.5Ghz的單核處理器,并非什么2.6Ghz性能強勁的雙核處理器,自然就會對多任務(wù)運行束手無策了吧。在凱旋的WP7系統(tǒng)上我們可以看到微軟為其切換應(yīng)用程序狀態(tài)的墓碑機制。簡單的說就是你正在玩游戲時手頭需要做什么事,于是你就保存記錄暫時離開,當(dāng)你回來之后繼續(xù)之前的記錄進行游戲。
譬如用戶正好在玩游戲或者刷微博,這時有電話打進來,來電提示和通話頁面將會在前臺顯示,而之前運行的游戲就會消失。而微軟為了保證手機的流暢性,不允許任何第三方應(yīng)用程序在WP7的后臺運行,特定時間內(nèi)只有一個應(yīng)用程序的在前臺運行,這時墓碑機制就會觸發(fā),游戲的運行狀態(tài)包括畫面、進度等等數(shù)據(jù)會凍結(jié)保存,但是游戲進程會直接關(guān)閉。這也是墓碑名字的含義:應(yīng)用程序已經(jīng)死了,但是墓志銘上還留有臨終前的所有狀態(tài)。當(dāng)通話結(jié)束后,游戲操作系統(tǒng)會將應(yīng)用程序進程重新啟動,并將狀態(tài)數(shù)據(jù)傳遞為應(yīng)用進行恢復(fù),這也相當(dāng)于應(yīng)用從墓地里面爬出來,并按照墓志銘上的記錄狀態(tài)進行還原。
但是WP7不允許后臺運行應(yīng)用,這時候墓碑機制就會觸發(fā),游戲的運行狀態(tài)包括畫面、進度等等數(shù)據(jù)會凍結(jié)保存,相當(dāng)于暫停,但是游戲確實沒有運行,這也是墓碑名字的含義:應(yīng)用程序已經(jīng)死了,但是墓碑上記錄有臨終前的所有狀態(tài)。當(dāng)通話結(jié)束后,游戲操作系統(tǒng)會將應(yīng)用程序進程重新啟動,并將狀態(tài)數(shù)據(jù)傳遞為應(yīng)用進行恢復(fù),這也相當(dāng)于應(yīng)用從墓地里面爬出來,并按照墓碑上記錄的狀態(tài)進行還原。在WP7上面,墓碑機制只能通過手機上的返回鍵來進行,這也是WP與Android的不同之處。Android的返回鍵是返回一個應(yīng)用之前的界面,而WP則是在不同的應(yīng)用之間來回切換,只要該應(yīng)用是你之前所打開的那個。
Windows Phone最多可以支持5個應(yīng)用程序的墓碑化,我們通過長按返回鍵就能看到墓碑化的應(yīng)用列表(當(dāng)然,有時候其多余5個的原因是微軟本身內(nèi)置應(yīng)用不計算在內(nèi),只有第三方開發(fā)的應(yīng)用程序才算),如果你不小心觸碰到了手機的Win鍵,除了可以點擊返回鍵回到之前的應(yīng)用中,也可以直接長按返回鍵打開墓碑列表,這時候你就可以進行跳躍操作,可以在5個墓碑中隨意選擇一個,而這些程序都會直接進入退出前的狀態(tài)。當(dāng)然,你也可以選擇在應(yīng)用列表中再次打開應(yīng)用,WP在這里的設(shè)置與其他手機系統(tǒng)稍微有些差異:他會直接重新打開該應(yīng)用,并非像Android或iOS那樣讀取緩存。