蘋果操作系統(tǒng)比安卓流暢的原因
不少人都反應蘋果iPhone要比一般Android手機流暢,這是一個現象要說是大問題談不上,畢竟兩者是完全兩個不同的系統(tǒng)所以嚴格來說放在一起對比是不公平的。接下來是小編為大家收集的蘋果操作系統(tǒng)比安卓流暢的原因,希望能幫到大家。
蘋果操作系統(tǒng)比安卓流暢的原因
優(yōu)先級別不同:iOS最先響應屏幕
當我們使用iOS或者是Android手機時,第一步就是滑屏解鎖找到相應程序點擊進入。而這個時候往往是所有操控開始的第一步驟,iOS系統(tǒng)產品就表現出來了流暢的一面,但Android產品卻給人一種卡頓的現象,更別說后續(xù)深入玩游戲或者進行其它操控了。這是為什么?
其實這與兩個系統(tǒng)的優(yōu)先級有關,iOS對屏幕反應的優(yōu)先級是最高的,它的響應順序依次為Touch--Media--Service--Core架構,換句話說當用戶只要觸摸接觸了屏幕之后,系統(tǒng)就會最優(yōu)先去處理屏幕顯示也就是Touch這個層級,然后才是媒體(Media),服務(Service)以及Core架構。而Android系統(tǒng)的優(yōu)先級響應層級則是Application--Framework--Library--Kernal架構,和顯示相關的圖形圖像處理這一部分屬于Library,你可以看到到第三位才是它,當你觸摸屏幕之后Android系統(tǒng)首先會激活應用,框架然后才是屏幕最后是核心架構。
iOS系統(tǒng)優(yōu)先處理Touch層級
可以看到優(yōu)先級的不同導致了iOS產品以及Android手機在操控過程中的表現差異,當你滑動屏幕進行操控的時候,iOS系統(tǒng)會優(yōu)先處理Touch層級,而Android系統(tǒng)則是第三個才響應Library層級,這是造成它們流暢度不同的因素之一。不過優(yōu)先級對系統(tǒng)流暢性有有影響不假,但并不是最絕對的,造成兩系統(tǒng)之間流暢性不一的現象還有其它因素,我們可以接著往下看。 目前智能手機硬件裝備競賽當中,其實處理器等配置已經達到了一個瓶頸期,各大旗艦產品在硬件比拼當中基本上沒有太大的區(qū)別,而這時候GPU就成為了一個凸顯差異的重要因素。一些大型軟件像是3d游戲對GPU性能要求都會比較高,蘋果iPhone產品采用的Power VR SGX系列GPU在當下來說非常的主流,跑分測試數據證明了它并不會比一些旗艦級別的Android產品差勁。
A6處理器集成了Power VR SGX543顯示芯片
而iOS系統(tǒng)對圖形的各種特效處理基本上正好都是基于GPU硬件進行加速的,它可以不用完全借助CPU或者程序本身,而是通過GPU進行渲染以達到更流暢的操控表現。但是Android系統(tǒng)產品則并非如此,因為Android需要適應不同的手機硬件,需要滿足各種差異配置,所以很多圖形特效大多都要靠程序本身進行加速和渲染,并嚴重依賴CPU運算的操作自然會加大處理器的負荷,從而出現卡頓的問題。雖然Android 4.0以及4.1等更高版本中進行了改進將硬件加速設為默認開啟,但依舊無法做到所有特效全部都靠GPU進行加速。在很多Android手機里面都自帶有“是否開啟GPU渲染”這個功能選項,不過開啟之后的改善也是微乎其微。
iOS圖形特效基于GPU加速渲染
屏幕最先響應的優(yōu)先級關系,再加上iSO本身GPU加速程序的特性,使得大家在操控過程中感覺iOS手機擁有著不錯的流暢性。因為它本身的整個流程都是在為最大化的流暢做服務,不管是第一印象的滑動接觸屏幕,還是你進一步使用程序之后的更深層操作都是如此。而GPU加速這點特性,應該是它優(yōu)于Android系統(tǒng)流暢性的又一個因素。 Android的編程語言是JAVA,而iOS的則為Objective-C,不過要是說Android系統(tǒng)之所以有些卡頓是因為JAVA開發(fā)語言的關系,或者是拿它和Objective-C對比肯定會有人提出質疑。Objective-C的優(yōu)勢是效率高但比較“唯一”,而JAVA的優(yōu)勢則是跨平臺不過運行效率相對偏低,其實這兩個編程語言所帶來的機制不同,就已經造成了各自系統(tǒng)之間的流暢性差異化。
Android系統(tǒng)架構
iOS的Objective-C,編譯器gcc,而這個gcc編譯出來的代碼又被蘋果專為iOS架構優(yōu)化到了極致,運行過程中也不需要虛擬機在中間插手,執(zhí)行效率自然很高--引自網絡。這一段話應該是iOS系統(tǒng)本身運行程序的執(zhí)行過程,而Android是通過JAVA虛擬機來執(zhí)行,并且系統(tǒng)需要占用大量內存來換取執(zhí)行速度,再加上不定期的內存自動回收機制,從而直接導致了卡頓現象的出現。
iOS系統(tǒng)架構有著不錯的運行效率
Android的JAVA編程本身運行效率比Objective-C低一些,而且再加上內存自動回收的機制,所以造成了一些卡頓不流暢的現象出現。但根據技術人員講解,現代的JAVA虛擬機效率已經不再是最大的瓶頸,Android 4.0系統(tǒng)版本之后的卡頓現象明顯得到了改善,所以這也是有用戶并沒有發(fā)現自己新買的Android手機出現太多卡頓現象的原因。看來編程語言和機制已經被Android進行了改善,這同樣也不是造成它與iOS流暢性偏差的唯一因素,不過影響卻是實實在在存在著。 有了優(yōu)先級的關系,有了GPU加加速的影響,還有兩個系統(tǒng)各自編程以及機制的問題,似乎已經可以說明為什么iOS相比Android更為流暢的原因。但最終還有一個問題是就是應用程序,很顯然用戶覺得卡頓都是在運行軟件的過程中產生,畢竟沒有安裝任何應用的初始出廠手機基本上都不存在不流暢或者延遲等現象,而且一款智能手機不安裝任何應用程序那也不符合用戶的購買初衷和使用行為。所以歸根結底,Android相比iOS的應用程序,到底出了什么問題?
App Store是蘋果和iOS的另一個標志
因為iOS產品的封閉性,所以所有的APP運行對象都比較單一,因為每個應用程序都是被運行在iPhone,iPad等iOS產品當中,它們有著很高的硬件利用效率。因為iOS系統(tǒng)的配件供應商只有那么幾家,CPU也是一年換一次,這點不像Android終端年年變月月變,開發(fā)者很難遇見未來終端分辨率會包含多少種,GPU驅動會包含哪些等等,所以相對來說Android應用開發(fā)成本較高且收益較慢。而iOS應用開發(fā)則因為軟硬件垂直整合而受益,這樣一來蘋果自然就保證了應用本身其與硬件產品之間的完美結合程度。
其實Android和iOS兩大系統(tǒng)APP開發(fā)情況的不同,也正是它們開發(fā)和不開放的特性所造成的。如果要是拿旗艦Android手機加上一個專為這款旗艦產品設計的游戲,來和蘋果iPhone 5運行對比的話,你真的不會遇到Android旗艦機出現卡頓延遲的問題,為什么因為這款游戲針對這款手機設計,在軟硬等方面都達到了最大化的兼容和優(yōu)化,自然就不會出現停滯的現象。
Android App雖然奮力追趕在但數量和質量上并未超越iOS
而Android系統(tǒng)程序要被安裝在各種符合要求的手機上面,開發(fā)者也不可能針對所有的機器型號進行開發(fā),只能在比較主流的機器上進行測試并保證運行效果,所以他們?yōu)榱思骖櫿麄€產品線只能不得不降低游戲體驗以達到高中低產品可以共用的效果。最后那些占據了Android終端份額的大量大眾用戶們由于自己的手機不是旗艦產品而得不到流暢的使用體驗,自然而然就會產生Android產品不如iOS流暢的抱怨。
寫在最后:
不管是iOS產品感覺比Android流暢還是真的比它流暢,其實說到底原因很簡單。蘋果會花費一年甚至兩年的時間去開發(fā)一個桌面icon,一種字體,并去測試屏幕點位,而Android終端中除了Nexus系列之外似乎沒有太多產品可以做到用這么長的時間去做這么細致的事情。有網友說得好,Android做的更多的是“讓系統(tǒng)跑起來”,而iOS擁有著蘋果做的更多的則是“讓系統(tǒng)以最高的效率跑起來”,或許這就是iOS產品比Android更流暢的原因吧。但更好的一面的是隨著谷歌對Android的持續(xù)升級以及各廠商對自家產品的循序改進,使得越來越多的Android終端正在擺脫卡頓不流暢的束縛,未來安卓用戶的期待同樣有望得到更好的滿足。
看了“蘋果操作系統(tǒng)比安卓流暢的原因”還想看: