• <li id="tllf8"><meter id="tllf8"><th id="tllf8"></th></meter></li>
        1. 手機
          手機 手機資訊 手機新聞 真偽之辯 iOS/Android系統多任務淺析
          手機大全
          12月 22

          真偽之辯 iOS/Android系統多任務淺析

          編輯:騰飛 來源:泡泡網
          放大 縮小 打印 郵件 收藏本頁 游吧論壇

          IOS/Android系統多任務淺析

          多任務,偽多任務。IOSAndroid操作系統的爭論一直不休。雙方的支持者都不甘示弱,都在談,可誰又都談不明白。

          說到多任務,我們就不得不談Pushmail。這是一個很經典的(偽)多任務,黑莓靠這個一度稱霸北美市場。開啟Pushmail的黑莓手機不是靠后臺的實時進程,而是通過消息提醒,類似現在的信息推送。這樣的做法可以極大的減少電量的消耗,而那些真正實時查看的后臺進程,無一例外的都是電量消耗大戶。

          移動設備對于后臺進程有著自己的管理方式,如果無限制的讓進程在后臺任意堆棧,那電量很快就會被耗盡。

          由于系統資源和電池容量的限制,移動系統的多任務與PC系統有一定的差異。桌面系統的多任務確實有多個程序在同時運行,當從一個切換到另一個時,它們都是一直正常運行的,一般不會被結束。而移動系統則是在不同應用中快速切換。當切換其他應用時,原程序被掛起,暫停執行。

          現在的移動操作系統在多任務上均有自己獨到的特點,人們無不希望能同時運行多個程序,從而提高使用效率,簡單有效的多任務管理模式能夠提升用戶體驗,IOSAndroid在多任務管理上有什么區別?我們下面就針對這個談一下。

          IOS是偽多任務?

          Android系統原生就支持多任務,而IOS系統是從4開始的。它的多任務并不是傳統意義上的多任務,不是任何應用進程都可以在后臺自由運行。真正做到支持多任務的只有蘋果Safari和Mail,很多蘋果親生的應用也都并不支持。

          對于第三方應用,可以開放的后臺運行接口只有音頻播放(如QQ音樂)、地理位置檢測(如谷歌地圖)和網絡電話(如Skype)等。

          IOS中,單擊Home鍵可以從應用中退回桌面。之前運行的應用并不是被關閉了,而是被暫時“凍結”。已經分配給它的資源仍然沒有收回,它是在運行中的。當你重新點擊應用,就會立刻進入,并恢復退出之前的狀態。這就是蘋果的快速切換應用功能(fast app switching)

          蘋果官網多任務解釋

          雙擊Home鍵可以激活屏幕下方的夾層,后臺運行的應用都在這里。但并不是所有在這里出現的應用都是后臺運行的。

          IOS的多任務可以分為三種:

          1、保持退出時狀態

          這種多任務只是一種看起來像多任務的單任務,當按下Home鍵時,程序會保持狀態。待到下次呼出時便恢復保存時的狀態,讓人看起來好像沒有退出過。就好像玩PSP上游戲的臨時存檔一樣,退出游戲之前存一下,再次進入并讀檔后,這個臨時存檔就消失了。

          2、有限多任務

          在這種多任務下,按下Home鍵,程序會保存到內存中,可以執行一些系統允許的進程,如音樂播放和下載等。這種多任務更快,但會占用內存。

          3、傳統意義多任務

          Safari和Mail就是這種多任務。這種多任務可以讓程序在切換到后臺時,無限制的做出動作。對于移動設備來說,如果不限制這樣的行為,任由程序在后臺隨意執行,電量很快就會被用光。

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

          能夠在后臺運行的應用有限

          之所以IOS系統會給人偽多任務的印象,是因為蘋果處于延遲續航時間等考慮,強制僅有少數幾種應用能夠被授權在后臺運行。大多數應用在退出后會被掛起,掛起后的10秒鐘內,仍然占用著原來的資源,用以一些善后工作。

          當后臺的應用過多,運行內存不夠時,系統會自動結束認為最沒用的進程,或是運行最早的那個進程。而那些被允許在后臺允許的應用,系統會通過專門的API給予其永久后臺權限,直到狀態結束或用戶主動關閉。

          從多任務的定義上來看,IOS系統可以進行多任務處理,但又不完全符合傳統意義的多任務。它需要掛起前一個進程才能將操作分配給下一個進程。但不管怎樣,它是支持多任務操作的。

          真正的后臺是要付出代價的

          再來說說Android。Android系統的運行方式是這樣的:當你運行了一個應用,就進入了該應用相應的層面;當你又運行了一個應用時,就又進入了這個應用的層面。新的層覆蓋在舊的上面,相互疊加,周而復始。谷歌為開發者提供了7個API,來調整應用層之間的切換和運行,它的用途主要是用來設置如何切換,以及切換后要做怎樣的操作。

          當新的層活動時,會疊加到下面的層上,下面的層就會凍結,或者說是被掛起。新的層處于激活狀態。這時按返回鍵的話,所有不可見的層就全部被凍結。


          Android系統后臺凍結中的應用

          在后臺運行上,谷歌提供了兩種解決方案:

          服務類(Service):

          可為應用提供一個內容由程序自身決定的服務,應用可以將需要在后臺執行的操作寫入服務中。當這個應用被切回后臺,它的所以活動都被凍結。但寫入服務的那些操作仍然可由系統繼續執行。如QQ這樣,只運行該應用的某個活動。

          廣播接收類(Broadcast receiver):

          它可以讓應用在后臺完整運行,而不像服務類,只能運行某一部分活動。但前提是應用必須給系統一個既定的運行時間和目標,當應用消耗完時間,或達成了目標后,系統就會結束并凍結該應用的所有活動。這個類普遍存在于鬧鐘和GPS類的應用當中。

          當然,這兩種類并不是隨便給予的,還是要有一定限制條件,在某種用途中可以指定分配服務類或廣播類。廣播類還會根據需求限制最大時間,從而防止被應用隨意使用,造成系統拖慢。

          理論上Android系統沒有運行程序的數量限制,只要內存足夠,可以無限制的開啟任意多個應用。最后,當后臺中運行的應用越來越多,運行內存吃緊,系統便會強制結束凍結中的活動。優先結束沒有服務類和廣播類的活動,其次是服務類,如果內存還是不夠,最后就會結束廣播類的活動。

          總結:

          從上面兩個系統的多任務的描述來看,IOSAndroid都是支持多任務的,而且機制幾乎相同——大體上都是,前臺運行后臺掛,特殊情況有權限。

          比較起來,Android系統給予應用的特殊權限比IOS要多些(這也是為什么IOS用起來比較順滑的原因)。這還得說IOS有比較先進的推送系統,而Android就比較慚愧了。

          所以為了讓更多活動及時的從后臺推送到前臺,Android就必須讓更多的應用在后臺運行,也就需要占用更多的內存和處理能力,自然需要付出更高的電力和更好的硬件作為代價。

          • 真偽之辯 iOS/Android系統多任務淺析
          打印 郵件 收藏本頁 幫肋
          推薦閱讀
          相關閱讀
          国产成人精品男人免费| 我要看WWW免费看插插视频| 亚洲精品熟女国产| 色费女人18毛片a级毛片视频| 天天色影综合网| 中文字幕无线码一区| 日本中文字幕在线观看| 亚洲2022国产成人精品无码区| 欧美一级在线看| 亚洲精品视频免费看| 欧美日韩一区二区三区色综合| 人人妻人人澡人人爽不卡视频 | 国产一区二区福利| 青娱乐国产精品| 国产欧美一区二区三区在线看| 88国产精品视频一区二区三区| 国精产品自偷自偷综合下载| yw在线观看成人免费| 女人18毛片水真多免费看| 中文字幕乱码无码人妻系列蜜桃 | 中文字幕无码中文字幕有码| 女人被男人桶得好爽免费视频| www成人免费视频| 国产精品素人福利| 91视频免费观看| 国产精品美女一区二区视频| 337p日本欧洲亚洲大胆精品555588| 国产精品亚洲成在人线| 91亚洲精品第一综合不卡播放| 国产精品国色综合久久| 77777_亚洲午夜久久多人| 国产成人精品电影| 美女被免费视频网站| 国产gaysexchina男同menxnxx| 翁虹三级在线伦理电影| 国产一级一级毛片| 精品综合久久久久久888蜜芽| 国产91在线免费| 精品一久久香蕉国产线看观看下 | 女人张开大腿让男人桶| 99国产精品免费视频观看|