iOS 4多任務(wù)到底有沒(méi)有用?

2011-06-21 09:38:11來(lái)源:愛(ài)蘋(píng)果作者:

筆者在很多場(chǎng)合見(jiàn)過(guò)很多人問(wèn):iOS多任務(wù)有什么用?騰訊QQ根本用不了嘛!為了不讓iOS這塊美玉掩上國(guó)內(nèi)某些廠商的瑕疵,筆者決心就iOS多任務(wù)系統(tǒng)解釋如下三個(gè)問(wèn)題:iOS多任務(wù)究竟有沒(méi)有用?系統(tǒng)升級(jí)了之后,為什么很多

筆者在很多場(chǎng)合見(jiàn)過(guò)很多人問(wèn):iOS多任務(wù)有什么用?騰訊QQ根本用不了嘛!為了不讓iOS這塊美玉掩上國(guó)內(nèi)某些廠商的瑕疵,筆者決心就iOS多任務(wù)系統(tǒng)解釋如下三個(gè)問(wèn)題:iOS多任務(wù)究竟有沒(méi)有用?系統(tǒng)升級(jí)了之后,為什么很多應(yīng)用還不是“多任務(wù)”?騰訊QQ這些為什么到現(xiàn)在還是用不了?相信讀者看完之后,能夠理解蘋(píng)果的良苦用心。

其實(shí),打從這世界出現(xiàn)了操作系統(tǒng)以來(lái),就沒(méi)有過(guò)所謂真正的“多任務(wù)”。所謂多任務(wù),無(wú)非是CPU速度夠快而足以支撐極短時(shí)間內(nèi)在多個(gè)進(jìn)程內(nèi)動(dòng)作罷了。而所謂單任務(wù),無(wú)非是只能讓當(dāng)前任務(wù)獨(dú)享資源罷了。
 

一、iOS 4多任務(wù)到底有沒(méi)有用?

簡(jiǎn)單來(lái)說(shuō),現(xiàn)在的iOS 4軟件類(lèi)型可以分為三種:

  1. 保存現(xiàn)場(chǎng)。按下Home鍵10秒內(nèi)直接殺死進(jìn)程,并釋放內(nèi)存。
  2. iOS支持的“多任務(wù)”。按下Home鍵轉(zhuǎn)入多任務(wù)狀態(tài),保留在內(nèi)存中,但只能做系統(tǒng)允許的動(dòng)作:比如GPS,比如VoIP,比如流音樂(lè)等等。
  3. 真正的桌面級(jí)別的多任務(wù)。只有Safari/Mail是,蘋(píng)果嫡系大都都不是。這個(gè)級(jí)別的軟件在后臺(tái)沒(méi)有任何限制動(dòng)作。

后兩種占用內(nèi)存的軟件,也會(huì)在任意時(shí)間從內(nèi)存中被砍掉,取決于你是否動(dòng)用了其它軟件而導(dǎo)致內(nèi)存不足。真正不會(huì)被砍掉的后臺(tái),只有蘋(píng)果那個(gè)通知系統(tǒng)。

\

其實(shí)可以回顧一下iOS是怎么一步步引入現(xiàn)在這個(gè)機(jī)制的。

  • 剛出生,什么都沒(méi)有,純粹的單任務(wù)。
  • iPhone OS 3.0,引入通知架構(gòu)。
  • iOS 4.0,引入有限制的后臺(tái)多任務(wù)。

其實(shí)至iPhone OS 3,已經(jīng)足夠應(yīng)付大部分應(yīng)用了。用戶根本無(wú)從知道軟件的實(shí)際運(yùn)行狀態(tài),保存現(xiàn)場(chǎng)讓軟件看起來(lái)不像是剛打開(kāi)一樣,通知系統(tǒng)又可以在后臺(tái)默默推送消息。事實(shí)上,當(dāng)前95% iOS軟件依舊只有保存現(xiàn)場(chǎng) + 通知系統(tǒng)這樣的組合,比如很多twitter客戶端,大部分人根本不會(huì)注意到它不是真正意義上的“多任務(wù)”。很震撼的事實(shí),但確實(shí)95%的應(yīng)用場(chǎng)景根本不需要所謂真正的“多任務(wù)”。

但是時(shí)代在變。

真正需要多任務(wù)的東西出現(xiàn)了:電臺(tái)來(lái)了,即時(shí)通訊來(lái)了,GPS要來(lái)了;幫主說(shuō),要有光,于是便有了光:iOS 4加入“多任務(wù)”功能。2010年四月份的iOS 4發(fā)布會(huì),主打特性便是多任務(wù)。幫主邊玩游戲邊回短信的形象,還令筆者印象深刻。您這游戲玩得實(shí)在不怎么行啊

那么第一個(gè)問(wèn)題的答案就揭曉了:iOS 4多任務(wù)是有用的。那么,為什么升級(jí)到了iOS 4卻感覺(jué)到很多軟件都依舊不是“多任務(wù)”?這就來(lái)到了第二個(gè)問(wèn)題。
 

系統(tǒng)升級(jí)了之后,為什么很多應(yīng)用還不是“多任務(wù)”?

答案很簡(jiǎn)單:iOS 4的多任務(wù),并不是我們普通所想的那種“一旦系統(tǒng)升級(jí)了,所有以往的軟件都可以自動(dòng)享受到好處”的多任務(wù)。程序開(kāi)發(fā)者必須要針對(duì)iOS 4多任務(wù)進(jìn)行一些修改,才能把程序變成iOS 4下的“多任務(wù)”軟件。

不不不,別想復(fù)雜了。簡(jiǎn)單來(lái)說(shuō),原有的軟件需要修改才能享受到iOS 4“多任務(wù)”的好處。這事一點(diǎn)也不復(fù)雜:軟件如果有更新,那么你就享受多任務(wù);如果沒(méi)有更新,那么你就照原來(lái)一樣用。

我知道有人會(huì)問(wèn)“為什么要這樣做?讓所有軟件都直接享受好處不好么?”。讓我再告訴你一個(gè)秘密,事實(shí)上這還增加了iOS 4系統(tǒng)復(fù)雜度,以及程序員開(kāi)發(fā)的復(fù)雜度。搞這么復(fù)雜干嘛?答案有兩個(gè):省電,安全。

iOS 4多任務(wù)是被限制的多任務(wù),只有系統(tǒng)允許的動(dòng)作才能在后臺(tái)存在,這些動(dòng)作包括但不限于:GPS(比如谷歌縱橫),流音樂(lè)(比如豆瓣電臺(tái)、蝦米電臺(tái)),VoIP(比如Skype)。無(wú)限制動(dòng)作的軟件,一會(huì)在用戶無(wú)察覺(jué)的情況下耗光電力,二會(huì)有安全上面的問(wèn)題(君還記得那些個(gè)在Android后臺(tái)依舊默默發(fā)送你的個(gè)人消息程序嗎?)。安全暫且不說(shuō),如何在保持多任務(wù)優(yōu)勢(shì)的同時(shí),避免消耗過(guò)多電力,蘋(píng)果花了很多心思。

那么第二個(gè)問(wèn)題答案是:軟件必須得修改后才能享受iOS 4多任務(wù)特性,而不是大家普通所想的升級(jí)后雞犬同升天。下面是第三個(gè)問(wèn)題,既然iOS 4多任務(wù)是有用的,軟件修改后也可以享受到這一特性,那為什么到現(xiàn)在還是很多軟件沒(méi)法用?
 

騰訊QQ這些為什么到現(xiàn)在還是用不了?

有三種可能性。一是不會(huì)做(技術(shù)能力不夠),二是還沒(méi)做,三是做不了。

遇到第一種和第二種情況的話,筆者認(rèn)為可以放棄了這款軟件了。一個(gè)不與時(shí)俱進(jìn)的軟件,應(yīng)該被果斷拋棄;42萬(wàn)個(gè)應(yīng)用數(shù)目,絕對(duì)能夠找得到替代品。而關(guān)于第三種:在上一節(jié)里面,筆者已經(jīng)提到,一個(gè)iOS軟件在針對(duì)iOS 4修改后,它的多任務(wù)表現(xiàn)將和Android上表現(xiàn)沒(méi)有任何區(qū)別,而且更省電更安全。但這有一個(gè)前提:軟件后臺(tái)請(qǐng)求的動(dòng)作必須得是iOS 4所允許的類(lèi)別。第三種做不了的情況,正是因?yàn)檐浖笈_(tái)所請(qǐng)求的動(dòng)作并不是iOS所允許的類(lèi)型。騰訊QQ正是如此。

古往今來(lái),國(guó)外絕大部分即時(shí)通訊軟件,包括QQ(當(dāng)年叫OICQ)“借鑒”的ICQ,使用的都是公開(kāi)協(xié)議。第三方程序員可以很容易得根據(jù)公開(kāi)協(xié)議,開(kāi)發(fā)出不同于官方的客戶端;騰訊QQ是私有協(xié)議。私有便私有罷,要破這樣的私有協(xié)議極其容易,也曾經(jīng)涌現(xiàn)出很多三方客戶端;但騰訊更厲害的一招是,每隔一段時(shí)間就變換一次協(xié)議。我換不勝換,要的就是你防不勝防!

很明顯,這樣的換不勝換,是不可能被蘋(píng)果接受的。騰訊QQ for iOS質(zhì)量之爛,也就可見(jiàn)一般了。

總結(jié):iOS是一個(gè)好系統(tǒng),多任務(wù)是一個(gè)好多任務(wù);”做不到“?呵呵。

原文地址:http://iapple.pcpop.com/posts/3072
關(guān)鍵詞:iOSiPhone多任務(wù)

贊助商鏈接: