淺談Android和IOS系統的差別

總結:事件響應級別、GPU加速、進程先後臺、代碼運行速度、內存管理機制。編程

 

進程管理機制、內存管理機制、cpu效率、GPU加速、事件響應級別、服務器

 

1.    渲染機制不一樣

IOS的UI渲染採用實時優先級,而Android的UI渲染遵循傳統電腦模式的主線程普通優先級架構

IOS它的響應順序依次爲Touch--Media--Service--Core架構框架

 

Android系統的優先級響應層級則是Application--Framework--Library--Kernal架構編程語言

 

Android 系統與 iOS 系統,二者在處理信息的優先級上就有不一樣的原則。iOS 對屏幕反應的優先級是最高的,它的響應順序依次爲 Touch--Media--Service--Core 架構,換句話說當用戶只要觸摸接觸了屏幕以後,系統就會最優先去處理屏幕顯示也就是 Touch 這個層級,而後纔是媒體(Media),服務(Service)以及 Core 架構。而 Android系統的優先級響應層級則是 Application-- Framework -- Library -- Kernal 架構,和顯示相關的圖形圖像處理這一部分屬於 Library,當你觸摸屏幕以後 Android 系統首先會激活應用,框架而後纔是屏幕最後是核心架構。優化

 

2.    IOS基於GPU加速

iOS系統對圖形的各類特效處理基本上正好都是基於GPU硬件進行加速的,它能夠不用徹底藉助CPU或者程序自己,而是經過GPU進行渲染以達到更流暢的操控表現spa

 

Android系統產品則並不是如此,由於Android須要適應不一樣的手機硬件,須要知足各類差別配置,因此不少圖形特效大多都要靠程序自己進行加速和渲染.net

(1.           雖然Android 4.0以及4.1等更高版本中進行了改進將硬件加速設爲默認開啓,但依舊沒法作到全部特效所有都靠GPU進行加速)線程

(2.           在不少Android手機裏面都自帶有「是否開啓GPU渲染」這個功能選項,不過開啓以後的改善也是微乎其微。)blog

3.    後臺機制不一樣

安卓手機的後臺是真後臺,將應用保留在RAM中,之因此可以收到推送,也由於它常駐內存。

 

IOS採用僞後臺,當用戶HOME鍵退出應用時,IOS其實關閉了程序,只保留應用的圖像入口,只會默認將最後的運行數據記錄在RAM中。之因此IOS也能收到推送,是由於應用程序開啓推送後,系統會增長一些進程,這些進程會從蘋果服務器接收信息,而後再經過服務器發給用戶,蘋果服務器在這裏是起到了中轉的做用。

 

4.    iPhone執行效率比安卓機高

安卓的編程語言是Java,特色是通用性強、效率低。而IOS的則爲Objective-C,專注性強、效率高。

IOS系統自己優化得比較好(編譯器gcc,而這個gcc編譯出來的代碼又被蘋果專爲iOS架構優化到了極致,運行過程當中也不須要虛擬機在中間插手),並且程序直接執行,因此效率高。

 

安卓系統是經過Java虛擬機來執行(再加上內存自動回收的機制,因此形成了一些卡頓不流暢的現象出現),系統須要佔用大量內存來換取執行速度,也就是要繞了個大圈才執行程序,因此效率低不少

 

5.    廠商喜歡給iPhone作優化

iPhone硬件等參數比較穩定,安卓硬件配置不穩定,因此廠商更喜歡給iPhone作優化

 

6.    系統內存管理機制不一樣

iOS系統在系統內存不足時會自動釋放內存。

 

https://blog.csdn.net/wujianli8/article/details/43964341

相關文章
相關標籤/搜索