為什麼IOS系統不管是啟動應用還是後臺切換應用流暢度都非常高(尤其是一些大型應用遊戲比較明顯),而安卓卻卻會有卡頓感,換句話說,為什麼IOS可以做到執行記憶體實時回收?而安卓卻越用越少從而導致卡頓運存不夠用的情況?
回覆列表
-
1 # 找靚機
-
2 # 喜兒哥科技
題主,你好
這個問題你大致都說的差不多了,具體為什麼如下
安卓系統採用的是多工方式,而蘋果則是偽多工,也就是後臺不能執行任務。舉個例子,您用小說軟體下載小說,那麼在安卓系統中,此時你切換qq聊天 ,小說還會繼續下載,但是在蘋果系統中,切換到qq聊天后,下載便會暫停。
也正是因為一個有安卓是多工,而蘋果不支援多工,所以蘋果基本不存在卡頓問題,而安卓系統便出現了卡頓問題。
這樣解釋不知題主是否滿意
蘋果的iOS系統一直以流暢易用著稱,而Android系統經過幾代更新,流暢度已經有相當大的改觀,但有沒有眼尖的小夥伴發現,即使現在最新的Android 7.1,自身流暢度已經非常高,但在與iOS系統對比時,會存在微妙的差異,似乎還是iOS系統更加流暢、跟手,這到底是為什麼?
(真的不是瞎說,如果你有機會同時對著Android和iOS 裝置滑來滑去,你會懂我的)
讓我們來個“深入淺出”,扒一扒背後的技術原因
響應優先順序區別:iOS最先響應螢幕
早前我們在看媒體評測iOS裝置時,經常說到一個詞“跟手”。確實早在幾年前,Android 4.0以前的時代,誰敢說Android系統操作跟手,那絕b是腦子冒泡泡,而iOS卻不一樣,從它誕生初期,就已經符合所謂“跟手”條件,說白了,就是手指滑到哪,圖示就跟到哪,而那時候的Android總是手指要先滑個幾毫米,螢幕才有反應。
其實這與兩個系統的優先順序有關,iOS對螢幕反應的優先順序是最高的,它的響應順序依次為Touch--Media--Service--Core架構,換句話說當用戶只要觸控接觸了螢幕之後,系統就會最優先去處理螢幕顯示也就是Touch這個層級,然後才是媒體(Media),服務(Service)以及Core架構。
而Android系統的優先順序響應層級則是Application(應用)--Framework(框架)--Library(影象處理)--Kernal架構,和顯示相關的圖形影象處理這一部分屬於Library,你可以看到第三位才是它,當你觸控式螢幕幕之後Android系統首先會啟用應用,框架然後才是螢幕最後是核心架構。
因此,優先順序不同導致了iOS產品以及Android產品在操控過程中表現的差異。在滑動螢幕是,iOS系統會優先處理Touch層級,而Android系統則是第三個才響應Library層級,這是造成Android流暢度不如iOS的因素之一,但不是絕對的。
硬體工作區別:iOS基於GPU加速
目前手機的處理器等硬體配置已經達到了瓶頸期,各大旗艦產品在硬體比拼中基本上沒有太大變化,而GPU就成為了差異化最重要的體現。
一般來說大型3D遊戲對於GPU要求較高而,蘋果的Power VR SGX系列GPU一直是以高效能著稱的。
因為iOS系統對於圖形的處理都是基於GPU硬體加速,可以減輕CPU運算的壓力,但是Android為了適配不同硬體的手機,需要滿足各種差異配置。
所以很多圖形特效處理大部分都要靠程式本身進行加速和渲染,並嚴重依賴CPU運算的操作自然會加大處理器的負荷,從而出現卡頓的問題。
雖然在Android4.0以後的系統中都預設開啟了硬體加速,但依舊無法做到運用GPU加速全部的圖形特效。
螢幕優先響應,再加上iSO本身GPU加速程式的特性,使得iOS系統在操作中擁有不錯的流暢性,iOS系統的這些流程本身都是在為流暢服務。而GPU加速這點特性,應該是它優於Android系統流暢性的又一個重要因素。
系統設計區別:安卓APP無法統一
以上兩個原因,似乎已經可以大概解釋為什麼iOS相比Android更為流暢的原因。但最終還有一個問題是應用程式,在Android上似乎系統自帶的軟體很少出現卡頓,而一旦安裝一些第三方應用後,卡頓問題就逐漸出現,這究竟是為什麼?
因為iOS系統的封閉性,對於APP的開發框架有極為嚴格的限制,所以APP在iOS系統上執行物件比較單一。
還有就是蘋果裝置的硬體供應商比較固定,CPU也是有規律更新,不像Android終端不停地在變,開發者很難針對一款裝置開發專用的軟體,需要相容多個CPU或GPU的硬體平臺,這就導致了Android應用開發成本較高且收益慢。
反觀iOS應用開發則因為軟硬體垂直整合而受益,這樣一來蘋果自然就保證了應用本身其與硬體產品之間的完美結合程度。
簡單地說,如果有Android開發者專門針對某款旗艦手機開發出的大型遊戲,那麼理論上不會出現卡頓延遲的問題。
因此,開發者不可能針對所有的機器型號進行開發,只能在比較主流的機器上進行測試並保證執行效果,所以他們為了兼顧整個產品線,不得不降低遊戲體驗以達到高中低產品可以共用的效果。
因為Android終端高中低檔手機的使用者數量多,自然而然就會產生Android產品不如iOS流暢的抱怨。