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