ios多任務(wù)系統(tǒng)是怎樣的工作原理
ios操作系統(tǒng)一直被人們所歡迎和使用,但是也有人們反應(yīng)其中的多任務(wù)系統(tǒng)做得不怎么好,具體怎么解釋呢?小編為大家整理了ios多任務(wù)操作系統(tǒng)的介紹,希望對(duì)大家有幫助。
1.什么是多任務(wù)操作系統(tǒng)
最近的智能手機(jī)系統(tǒng)都開(kāi)始支持多任務(wù),iOS從iOS4開(kāi)始,而Android原生支持,其他的如WP7,webOS都支持多任務(wù)。但是,因?yàn)槭謾C(jī)系統(tǒng)資源和硬件資源的限制,手機(jī)系統(tǒng)的多任務(wù)并不像我們?cè)谄胀≒C操作系統(tǒng)中使用的那樣,而是有一定差異。我們提到多任務(wù)時(shí),不同的人有不同的解釋:1)向很多桌面系統(tǒng)(如windows 7,mac os X,Linux等)那樣,確實(shí)有多個(gè)程序在同時(shí)運(yùn)行,當(dāng)你從一個(gè)任務(wù)切換到另一個(gè)時(shí),他們一直在正常運(yùn)行,一般不會(huì)被結(jié)束。2)僅僅是在不同應(yīng)用程序間快速切換的功能。當(dāng)你切換為其他程序時(shí),原程序被掛起,暫停執(zhí)行,因此當(dāng)返回時(shí),好像多任務(wù)在同時(shí)進(jìn)行。
iOS 4 上的第三方軟件在什么情況下會(huì)真正退出?有三種情況:
一、系統(tǒng)為了省出內(nèi)存而終止某個(gè)程序。這時(shí)系統(tǒng)不會(huì)通知用戶程序,用戶無(wú)法捕捉該事件。
二、用戶長(zhǎng)按「抽屜」中的軟件,點(diǎn)左上角的減號(hào)手動(dòng)終止程序。
三、尚未為 iOS 4 重新編譯的第三方軟件是無(wú)法被凍結(jié)的,只要你退出了這個(gè)軟件,它就直接被終止了。
2.ios多任務(wù)操作系統(tǒng)
手機(jī)系統(tǒng)的多任務(wù)往往介于兩者之間,在第二種情況上做一些有限的擴(kuò)展,而不像第一種情況那么強(qiáng)大。先說(shuō)說(shuō)ios。從iOS4開(kāi)始支持多任務(wù),iOS4.2有了重大升級(jí)而且可以在iPad上使用多任務(wù)了。iOS4只是稱為快速應(yīng)用程序切換(fast app switching),可以通過(guò)雙擊home鍵呼出。到iOS4.2,iOS有三種多任務(wù):
第一種:iOS4 多任務(wù)
“iOS4 多任務(wù)”是受限制的多任務(wù)。按下 Home ,程序切換到后臺(tái)時(shí)仍保持在內(nèi)存中,可以執(zhí)行一些系統(tǒng)允許的動(dòng)作:比如播放音樂(lè)。iOS4 多任務(wù)的程序如果在后臺(tái)無(wú)動(dòng)作,那么表現(xiàn)和“保持現(xiàn)場(chǎng)”的程序差不多。有些程序,比如 Twitter for iPhone ,在“保持現(xiàn)場(chǎng)”的同時(shí)支持了 iOS4 多任務(wù)。iOS4 多任務(wù)比“保持現(xiàn)場(chǎng)”更快,并且可以后臺(tái)動(dòng)作。壞處是會(huì)占用內(nèi)存。而且,萬(wàn)一在后臺(tái)被殺掉,又不支持“保持現(xiàn)場(chǎng)”,那么再載入會(huì)丟掉上次的狀態(tài)。比如那個(gè)優(yōu)雅但是功能不足的推特客戶端新銳: Weet 。
第二種:保持現(xiàn)場(chǎng)
“保持現(xiàn)場(chǎng)”并非多任務(wù),而是一種看起來(lái)像多任務(wù)的單任務(wù)。按下 Home 后,程序自己保存狀態(tài)。下次呼出,自己恢復(fù)保存下來(lái)的現(xiàn)場(chǎng)。看起來(lái)和沒(méi)有退出過(guò)差不多。這并非 iOS4 的新特性, Tweetie 在 iOS4 之前就支持了。
第三種:真多任務(wù)
Safari ,Mail 等程序有真正的多任務(wù)權(quán)限:在后臺(tái)可以無(wú)限制動(dòng)作。對(duì)手機(jī)而言,不限制這種多任務(wù)有些缺點(diǎn)。一個(gè)未知的程序可能會(huì)在后臺(tái)執(zhí)行很重的任務(wù),讓電力在用戶無(wú)察覺(jué)的情況下消耗光。另外,安全性也不是很靠譜。所以蘋果僅允許少數(shù)幾個(gè)程序擁有這個(gè)權(quán)限。甚至蘋果自己也沒(méi)有濫用: Messages , Photos 都是蘋果的嫡系,卻僅支持 iOS4 多任務(wù)而已。
android系統(tǒng)對(duì)多任務(wù)的處理相對(duì)成熟而簡(jiǎn)單些。
Android同樣也擁有優(yōu)秀的多任務(wù)能力,甚至于為了優(yōu)化多任務(wù)的性能,他還十分有創(chuàng)意的使用了一種被稱作“預(yù)熱”的機(jī)制,以便加速常用程序的啟動(dòng)。
所有程序在運(yùn)行時(shí)可以按”Home”鍵返回桌面
程序最小化之后,可以通過(guò)重新運(yùn)行的方法來(lái)激活
按住”Home”可以調(diào)出最近運(yùn)行過(guò)的6個(gè)程序,點(diǎn)擊可以快速切換
必要時(shí)程序可以使用通知欄進(jìn)行提醒
android 沒(méi)有任務(wù)管理器,不過(guò)可以通過(guò)第三方的任務(wù)管理器來(lái)實(shí)現(xiàn)任務(wù)管理功能。android Home鍵調(diào)出的最近6個(gè)運(yùn)行過(guò)的程序;以及強(qiáng)大的通知欄提醒。
其中一個(gè)改變,就是強(qiáng)化了很多的狀態(tài)欄。只要程序需要,就可以在狀態(tài)欄中放置通知。
對(duì)于唯一一個(gè)全局顯示的狀態(tài)欄而言,他顯然是一個(gè)天生的導(dǎo)航系統(tǒng)。
在WM中也有同樣的狀態(tài)欄,但不同的是,狀態(tài)欄僅僅是為了顯示圖標(biāo),其作用類似于Windows系統(tǒng)的托盤區(qū)域,不同的圖標(biāo)代表的意義可能是完全不同的
在Android中,盡管圖標(biāo)同樣會(huì)顯示在狀態(tài)欄,但是無(wú)法被點(diǎn)擊。唯一可以做的事情就是將狀態(tài)欄脫下來(lái),查看最近的通知消息
這是一個(gè)非常有意義的改進(jìn)。盡管只是一個(gè)很細(xì)節(jié)的變化,但是他最大限度的避免了因?yàn)?ldquo;同一個(gè)區(qū)域,不同的圖標(biāo),完全不同的效果”對(duì)用戶所造成的混亂。
當(dāng)然,這也是一個(gè)非常優(yōu)秀的導(dǎo)航。正在播放的音樂(lè)、QQ的狀態(tài),如果有需要的程序,都可以在這里顯示;而將通知消息獨(dú)立則最大程度避免了出現(xiàn)和WM相同的混亂。
Home鍵所調(diào)出的快捷菜單,其實(shí)根本就是一個(gè)簡(jiǎn)化版的任務(wù)管理器。他最大限度的簡(jiǎn)化了任務(wù)管理器給用戶所帶來(lái)的迷惑:畢竟身為一個(gè)普通用戶,并不需要去關(guān)心內(nèi)存占用之類的情況——只要系統(tǒng)始終流暢運(yùn)行就好。
不過(guò)看來(lái),這種設(shè)定并沒(méi)有受到廣泛的追捧。一個(gè)很大的問(wèn)題在于,他沒(méi)有明確的標(biāo)記出究竟哪個(gè)才是正在運(yùn)行的程序。已經(jīng)被關(guān)閉的程序,和剛剛最小化的程序,看起來(lái)都是一個(gè)樣子。于是,用戶需要花費(fèi)額外的成本去記憶究竟哪個(gè)才是正在運(yùn)行的程序。相應(yīng)的,這必然帶來(lái)了糟糕的用戶體驗(yàn)。再加之他這個(gè)預(yù)熱的功能顯然是“代替用戶作出決定”最佳的反面教材,于是也就不難理解為何市場(chǎng)中各種第三方的任務(wù)管理器如此火爆了。
android 中退出程序時(shí)都不會(huì)自動(dòng)退出,而是轉(zhuǎn)入后臺(tái),以提高下次啟動(dòng)的速度。同樣,android 的后臺(tái)任務(wù)也會(huì)因?yàn)橄到y(tǒng)資源的限制而被系統(tǒng)終止而回收內(nèi)存的資源。這對(duì)于系統(tǒng)的流暢運(yùn)行時(shí)必不可少的。
本文僅對(duì)iOS4和android系統(tǒng)的多任務(wù)處理作一些描述性說(shuō)明和一些淺顯解釋。筆者對(duì)手機(jī)系統(tǒng)應(yīng)用不多,很多資料來(lái)源于網(wǎng)絡(luò)。而且隨著apple和google的更新,很多東西會(huì)隨之改變。因此本文更多的是想引導(dǎo)讀者進(jìn)行思考一些我們平時(shí)可能忽略或者認(rèn)為理所當(dāng)然的東西。