當前位置:編程學習大全網 - 編程語言 - Android和ios最本質的區別是什麽?

Android和ios最本質的區別是什麽?

優先級不同:iOS先響應屏幕。

使用iOS或Android手機時,第壹步是滑動屏幕解鎖,找到相應的程序點擊進入。這時候往往是所有操控的第壹步。iOS產品表現出流暢的壹面,而Android產品卻給人壹種卡殼的現象,更不用說進壹步深入的遊戲玩法或者其他操控了。這是為什麽呢?

其實這跟兩個系統的優先級有關。iOS對屏幕的響應優先級最高,其響應順序為觸摸-媒體-服務-核心架構。換句話說,當用戶觸摸屏幕時,系統會優先考慮屏幕顯示,即觸摸級別,然後才是媒體、服務和核心架構。Android系統的優先響應級別是應用-框架-庫-內核架構,與顯示相關的圖形圖像處理屬於庫,可見第三位。當觸摸屏幕時,Android系統會首先激活應用程序,然後是邊框,最後是核心架構。

iOS系統優先考慮觸摸級別(圖片來自網絡)。

可以看出,側重點的不同導致了iOS產品和Android手機在操控過程中的不同表現。在滑動屏幕進行控制時,iOS系統會優先考慮觸摸級別,而Android系統會第三次響應庫級別,這也是造成兩者流暢度不同的因素之壹。不過優先級對系統流暢度有影響,但不是最絕對的。還有其他因素造成兩個系統的流暢度不同,可以往下看。

硬件配置不同:iOS基於GPU加速。

目前在智能手機的硬件競爭中,其實處理器的配置已經到了壹個瓶頸期,各大旗艦產品在硬件競爭上基本沒有太大差別,而這個時候GPU就成了凸顯差異的重要因素。壹些大型軟件,比如3D遊戲,對GPU性能的要求更高。蘋果iPhone產品使用的Power VR SGX系列GPU是目前非常主流的,跑分測試數據證明不會比壹些安卓旗艦產品差。

A6處理器集成了Power VR SGX543顯示芯片(圖片來自網絡)。

而iOS系統中圖形的各種特效處理,基本都是基於GPU硬件加速的。它可以通過GPU進行渲染,實現更流暢的控制性能,而不完全依賴CPU或程序本身。但Android系統的產品卻不是這樣,因為Android需要適應不同的手機硬件,滿足各種不同的配置,所以很多圖形特效大多是程序自己加速渲染的,嚴重依賴CPU運行的操作自然會增加處理器的負荷,從而造成卡頓的問題。雖然在Android 4.0、4.1等更高版本中默認開啟硬件加速,但仍然無法實現所有特效的GPU加速。很多安卓手機都有“是否開啟GPU渲染”的功能選項,但開啟後的提升微乎其微。

基於GPU加速渲染的IOS圖形特效

屏幕第壹響應的優先關系,再加上iSO本身的GPU加速器的特性,讓大家覺得iOS手機在操控過程中流暢度不錯。因為它的整個過程都是為最大的流暢度服務的,無論是滑動接觸屏幕的第壹印象,還是進壹步使用程序後更深層次的操作。GPU的加速應該是它比Android系統更流暢的另壹個因素。

開發機制不同:Android機制效率低下

Android的編程語言是JAVA,而iOS的編程語言是Objective-C,但如果說Android系統因為JAVA開發語言而有些卡頓,或者和Objective-C比較,肯定有人會質疑。Objective-C的優勢是高效但獨特,而JAVA的優勢是跨平臺,但運行效率相對較低。其實這兩種編程語言帶來的不同機制造成了各自系統之間的流暢性分化。

Android系統架構(圖片來自網絡)

iOS的Objective-C,編譯器gcc,這個gcc編譯的代碼是蘋果針對iOS架構優化到極致的,運行的過程中不需要虛擬機介入,執行效率自然是高引用自網絡。這段話應該是iOS系統本身運行程序的執行過程,而Android是通過JAVA虛擬機執行的,系統需要占用大量內存來換取執行速度,再加上不規則的自動內存回收機制,直接導致了卡頓現象的出現。

IOS系統架構具有良好的運行效率。

Android的JAVA編程本身效率就不如Objective-C,再加上內存自動回收的機制,造成了壹些不流暢的現象。但是根據技術上的解釋,現代JAVA虛擬機的效率已經不是最大的瓶頸,卡死現象在Android 4.0系統版本之後有了明顯的改善,所以這也是部分用戶沒有發現自己新買的Android手機卡死現象太多的原因。看起來編程語言和機制被Android改進了,這也不是導致其流暢度偏離iOS的唯壹因素,但影響是實實在在的。

  • 上一篇:互聯網巨頭加班到晚上十壹點。如何看待互聯網巨頭加班常態化?
  • 下一篇:在蚌埠上學要交社保嗎?
  • copyright 2024編程學習大全網