中文字幕欧美日韩va免费视频,亚洲国产成人无码电影,亚洲中文有码字幕日本第一页,亚洲国产成人资源在线,亚洲精品中文字幕一区二区三区

手機(jī)
手機(jī) 手機(jī)資訊 手機(jī)新聞 真?zhèn)沃q iOS/Android系統(tǒng)多任務(wù)淺析
手機(jī)大全
12月 22

真?zhèn)沃q iOS/Android系統(tǒng)多任務(wù)淺析

編輯:騰飛 來(lái)源:泡泡網(wǎng)
放大 縮小 打印 郵件 收藏本頁(yè) 游吧論壇

IOS/Android系統(tǒng)多任務(wù)淺析

多任務(wù),偽多任務(wù)。IOSAndroid操作系統(tǒng)的爭(zhēng)論一直不休。雙方的支持者都不甘示弱,都在談,可誰(shuí)又都談不明白。

說(shuō)到多任務(wù),我們就不得不談Pushmail。這是一個(gè)很經(jīng)典的(偽)多任務(wù),黑莓靠這個(gè)一度稱霸北美市場(chǎng)。開(kāi)啟Pushmail的黑莓手機(jī)不是靠后臺(tái)的實(shí)時(shí)進(jìn)程,而是通過(guò)消息提醒,類似現(xiàn)在的信息推送。這樣的做法可以極大的減少電量的消耗,而那些真正實(shí)時(shí)查看的后臺(tái)進(jìn)程,無(wú)一例外的都是電量消耗大戶。

移動(dòng)設(shè)備對(duì)于后臺(tái)進(jìn)程有著自己的管理方式,如果無(wú)限制的讓進(jìn)程在后臺(tái)任意堆棧,那電量很快就會(huì)被耗盡。

由于系統(tǒng)資源和電池容量的限制,移動(dòng)系統(tǒng)的多任務(wù)與PC系統(tǒng)有一定的差異。桌面系統(tǒng)的多任務(wù)確實(shí)有多個(gè)程序在同時(shí)運(yùn)行,當(dāng)從一個(gè)切換到另一個(gè)時(shí),它們都是一直正常運(yùn)行的,一般不會(huì)被結(jié)束。而移動(dòng)系統(tǒng)則是在不同應(yīng)用中快速切換。當(dāng)切換其他應(yīng)用時(shí),原程序被掛起,暫停執(zhí)行。

現(xiàn)在的移動(dòng)操作系統(tǒng)在多任務(wù)上均有自己獨(dú)到的特點(diǎn),人們無(wú)不希望能同時(shí)運(yùn)行多個(gè)程序,從而提高使用效率,簡(jiǎn)單有效的多任務(wù)管理模式能夠提升用戶體驗(yàn),IOSAndroid在多任務(wù)管理上有什么區(qū)別?我們下面就針對(duì)這個(gè)談一下。

IOS是偽多任務(wù)?

Android系統(tǒng)原生就支持多任務(wù),而IOS系統(tǒng)是從4開(kāi)始的。它的多任務(wù)并不是傳統(tǒng)意義上的多任務(wù),不是任何應(yīng)用進(jìn)程都可以在后臺(tái)自由運(yùn)行。真正做到支持多任務(wù)的只有蘋(píng)果Safari和Mail,很多蘋(píng)果親生的應(yīng)用也都并不支持。

對(duì)于第三方應(yīng)用,可以開(kāi)放的后臺(tái)運(yùn)行接口只有音頻播放(如QQ音樂(lè))、地理位置檢測(cè)(如谷歌地圖)和網(wǎng)絡(luò)電話(如Skype)等。

IOS中,單擊Home鍵可以從應(yīng)用中退回桌面。之前運(yùn)行的應(yīng)用并不是被關(guān)閉了,而是被暫時(shí)“凍結(jié)”。已經(jīng)分配給它的資源仍然沒(méi)有收回,它是在運(yùn)行中的。當(dāng)你重新點(diǎn)擊應(yīng)用,就會(huì)立刻進(jìn)入,并恢復(fù)退出之前的狀態(tài)。這就是蘋(píng)果的快速切換應(yīng)用功能(fast app switching)

蘋(píng)果官網(wǎng)多任務(wù)解釋

雙擊Home鍵可以激活屏幕下方的夾層,后臺(tái)運(yùn)行的應(yīng)用都在這里。但并不是所有在這里出現(xiàn)的應(yīng)用都是后臺(tái)運(yùn)行的。

IOS的多任務(wù)可以分為三種:

1、保持退出時(shí)狀態(tài)

這種多任務(wù)只是一種看起來(lái)像多任務(wù)的單任務(wù),當(dāng)按下Home鍵時(shí),程序會(huì)保持狀態(tài)。待到下次呼出時(shí)便恢復(fù)保存時(shí)的狀態(tài),讓人看起來(lái)好像沒(méi)有退出過(guò)。就好像玩PSP上游戲的臨時(shí)存檔一樣,退出游戲之前存一下,再次進(jìn)入并讀檔后,這個(gè)臨時(shí)存檔就消失了。

2、有限多任務(wù)

在這種多任務(wù)下,按下Home鍵,程序會(huì)保存到內(nèi)存中,可以執(zhí)行一些系統(tǒng)允許的進(jìn)程,如音樂(lè)播放和下載等。這種多任務(wù)更快,但會(huì)占用內(nèi)存。

3、傳統(tǒng)意義多任務(wù)

Safari和Mail就是這種多任務(wù)。這種多任務(wù)可以讓程序在切換到后臺(tái)時(shí),無(wú)限制的做出動(dòng)作。對(duì)于移動(dòng)設(shè)備來(lái)說(shuō),如果不限制這樣的行為,任由程序在后臺(tái)隨意執(zhí)行,電量很快就會(huì)被用光。

有幾種情況下,應(yīng)用是真正完全退出了:1、系統(tǒng)為節(jié)省內(nèi)存而自動(dòng)終止某程序;2、用戶手動(dòng)長(zhǎng)按屏幕下方多任務(wù)欄中的應(yīng)用并關(guān)閉;3、尚沒(méi)為IOS系統(tǒng)重新編譯過(guò)的第三方應(yīng)用(如更新之前的ONE|一個(gè)),這種應(yīng)用無(wú)法被凍結(jié),所以退出即終止。

能夠在后臺(tái)運(yùn)行的應(yīng)用有限

之所以IOS系統(tǒng)會(huì)給人偽多任務(wù)的印象,是因?yàn)?a target="_blank">蘋(píng)果處于延遲續(xù)航時(shí)間等考慮,強(qiáng)制僅有少數(shù)幾種應(yīng)用能夠被授權(quán)在后臺(tái)運(yùn)行。大多數(shù)應(yīng)用在退出后會(huì)被掛起,掛起后的10秒鐘內(nèi),仍然占用著原來(lái)的資源,用以一些善后工作。

當(dāng)后臺(tái)的應(yīng)用過(guò)多,運(yùn)行內(nèi)存不夠時(shí),系統(tǒng)會(huì)自動(dòng)結(jié)束認(rèn)為最沒(méi)用的進(jìn)程,或是運(yùn)行最早的那個(gè)進(jìn)程。而那些被允許在后臺(tái)允許的應(yīng)用,系統(tǒng)會(huì)通過(guò)專門的API給予其永久后臺(tái)權(quán)限,直到狀態(tài)結(jié)束或用戶主動(dòng)關(guān)閉。

從多任務(wù)的定義上來(lái)看,IOS系統(tǒng)可以進(jìn)行多任務(wù)處理,但又不完全符合傳統(tǒng)意義的多任務(wù)。它需要掛起前一個(gè)進(jìn)程才能將操作分配給下一個(gè)進(jìn)程。但不管怎樣,它是支持多任務(wù)操作的。

真正的后臺(tái)是要付出代價(jià)的

再來(lái)說(shuō)說(shuō)AndroidAndroid系統(tǒng)的運(yùn)行方式是這樣的:當(dāng)你運(yùn)行了一個(gè)應(yīng)用,就進(jìn)入了該應(yīng)用相應(yīng)的層面;當(dāng)你又運(yùn)行了一個(gè)應(yīng)用時(shí),就又進(jìn)入了這個(gè)應(yīng)用的層面。新的層覆蓋在舊的上面,相互疊加,周而復(fù)始。谷歌為開(kāi)發(fā)者提供了7個(gè)API,來(lái)調(diào)整應(yīng)用層之間的切換和運(yùn)行,它的用途主要是用來(lái)設(shè)置如何切換,以及切換后要做怎樣的操作。

當(dāng)新的層活動(dòng)時(shí),會(huì)疊加到下面的層上,下面的層就會(huì)凍結(jié),或者說(shuō)是被掛起。新的層處于激活狀態(tài)。這時(shí)按返回鍵的話,所有不可見(jiàn)的層就全部被凍結(jié)。


Android系統(tǒng)后臺(tái)凍結(jié)中的應(yīng)用

在后臺(tái)運(yùn)行上,谷歌提供了兩種解決方案:

服務(wù)類(Service):

可為應(yīng)用提供一個(gè)內(nèi)容由程序自身決定的服務(wù),應(yīng)用可以將需要在后臺(tái)執(zhí)行的操作寫(xiě)入服務(wù)中。當(dāng)這個(gè)應(yīng)用被切回后臺(tái),它的所以活動(dòng)都被凍結(jié)。但寫(xiě)入服務(wù)的那些操作仍然可由系統(tǒng)繼續(xù)執(zhí)行。如QQ這樣,只運(yùn)行該應(yīng)用的某個(gè)活動(dòng)。

廣播接收類(Broadcast receiver):

它可以讓?xiě)?yīng)用在后臺(tái)完整運(yùn)行,而不像服務(wù)類,只能運(yùn)行某一部分活動(dòng)。但前提是應(yīng)用必須給系統(tǒng)一個(gè)既定的運(yùn)行時(shí)間和目標(biāo),當(dāng)應(yīng)用消耗完時(shí)間,或達(dá)成了目標(biāo)后,系統(tǒng)就會(huì)結(jié)束并凍結(jié)該應(yīng)用的所有活動(dòng)。這個(gè)類普遍存在于鬧鐘和GPS類的應(yīng)用當(dāng)中。

當(dāng)然,這兩種類并不是隨便給予的,還是要有一定限制條件,在某種用途中可以指定分配服務(wù)類或廣播類。廣播類還會(huì)根據(jù)需求限制最大時(shí)間,從而防止被應(yīng)用隨意使用,造成系統(tǒng)拖慢。

理論上Android系統(tǒng)沒(méi)有運(yùn)行程序的數(shù)量限制,只要內(nèi)存足夠,可以無(wú)限制的開(kāi)啟任意多個(gè)應(yīng)用。最后,當(dāng)后臺(tái)中運(yùn)行的應(yīng)用越來(lái)越多,運(yùn)行內(nèi)存吃緊,系統(tǒng)便會(huì)強(qiáng)制結(jié)束凍結(jié)中的活動(dòng)。優(yōu)先結(jié)束沒(méi)有服務(wù)類和廣播類的活動(dòng),其次是服務(wù)類,如果內(nèi)存還是不夠,最后就會(huì)結(jié)束廣播類的活動(dòng)。

總結(jié):

從上面兩個(gè)系統(tǒng)的多任務(wù)的描述來(lái)看,IOSAndroid都是支持多任務(wù)的,而且機(jī)制幾乎相同——大體上都是,前臺(tái)運(yùn)行后臺(tái)掛,特殊情況有權(quán)限。

比較起來(lái),Android系統(tǒng)給予應(yīng)用的特殊權(quán)限比IOS要多些(這也是為什么IOS用起來(lái)比較順滑的原因)。這還得說(shuō)IOS有比較先進(jìn)的推送系統(tǒng),而Android就比較慚愧了。

所以為了讓更多活動(dòng)及時(shí)的從后臺(tái)推送到前臺(tái),Android就必須讓更多的應(yīng)用在后臺(tái)運(yùn)行,也就需要占用更多的內(nèi)存和處理能力,自然需要付出更高的電力和更好的硬件作為代價(jià)。

  • 真?zhèn)沃q iOS/Android系統(tǒng)多任務(wù)淺析
打印 郵件 收藏本頁(yè) 幫肋
推薦閱讀
相關(guān)閱讀