為什麼Android流暢度不及iPhone?

Android ios

相信很多網友都有類似疑問,感覺安卓手機在流暢度上不如iPhone手機。先不說一些配置低的安卓機,即便是最新版安卓系統的旗艦手機,也會感覺達不到iPhone手機的那種流暢度,因此有人以此判斷安卓手機不好。其實,這都是二者係統機制不同導致的差異。

渲染機制不同

Android沒有iOS流暢的根本的原因是,iOS的UI渲染採用實時優先級,而Android的UI渲染遵循傳統電腦模式的主線程普通優先級。

通俗點說就是iOS對屏幕反應的優先級最高,用戶只要觸摸屏幕,系統就會最優先處理屏幕顯示這個層級,馬上給出動畫效果,然後才處理媒體、​​服務、核心的架構。

而Android則是追求進程優先,觸摸屏幕後的手機屏幕顯示和動畫效果放在比較後的優先級。同樣打開相同的網頁,Android手機就會直接將整個網頁全部加載同時渲染HTML,這無疑就增加了處理器的壓力。因此對於Android來說,一個高效的雙核處理器是很重要的。

在iOS中UI渲染過程具有絕對的優先等級,當用戶接觸到iPhone的觸摸屏後,iOS中所有的進程都將停止,UI線程攔截了所有的事件,系統會將所有資源用於渲染UI過程,以保證用戶界面的實時渲染優先級。

而在Android系統中UI渲染過程的優先級別卻沒有那麼高,也就是說當你觸摸Android手機屏幕的時候,系統後台的程序並沒有停止,仍然在繼續運行之中,比如下載和查收短信,這樣系統UI獲得的資源就不夠,這就是Android系統不流暢的原因。

後台機制不同

Android手機的後台是真後台,像PC一樣,將應用保留在RAM中,當使用HOME鍵退出應用時,程序實際上並沒有完全退出,而是被系統掛在了後台,為何我們關掉了聊天軟件依然能夠收到消息通知,因為它常駐系統內存。包括平時收到的一些垃圾廣告推送,也是因為後台有程序運行。

所以這就導致了一個現象,從內存使用上來看,安卓剛開機時內存使用很低,若不進行清理內存操作,正常使用一天,內存佔用會達到75%以上。而內存佔用越高,使用起來流暢度就會越低,所以安卓機器需要更大的RAM來提升用戶體驗。

而iOS呢,其實是採用的偽後台,當用戶HOME鍵退出應用時,iOS其實關閉了程序,只保留應用的圖像入口,只會默認將應用的最後的運行數據記錄在RAM中。

之所以iOS也能收到推送,是因為當用戶從應用中選擇開啟推送之後,系統會增加一些進程,這些進程會從蘋果服務器接收信息,然後再通過服務器發給用戶,蘋果服務器在這裡是起到了中轉的作用。而正是因為有了這一系列的機制,所以即便iPhone的配置相比於同類安卓機低了很多,但是iOS還是會給人更加流暢的感覺。

iPhone執行程序的效率比Android機高

另外,安卓系統的編程語言是Java,特點是通用性強,效率低。而iOS的則為Objective-C,專一性強,效率高。 iOS系統本身優化得很好,而且程序也是直接執行,所以效率很高。而安卓系統是通過Java虛擬機來執行,系統需要佔用大量內存來換取執行速度,也就是要繞了個大圈才執行程序,所以效率低很多。

廠商喜歡給iPhone做優化

由於iOS的封閉性,App Store裡面的App都是在iPhone等產品上執行,硬件利用效率非常高,而且分辨率大小,硬件的更新等等參數也比較穩定,優化工作也容易進行,因而iPhone上的App和硬件結合程度比安卓高很多。

Android手機的硬件配置一樣天天變,開發者也不可能針對所有的機器型號進行開發,只能在比較主流的機器上進行測試並保證運行流暢,所以很多國產中低端安卓手機很難得到流暢的使用體驗。

Share on FacebookShare on Google+Tweet about this on TwitterShare on TumblrShare on LinkedInEmail this to someonePrint this page

Gamescom 2011參展廠商列表

德國科隆遊戲展主辦方今日公佈了本屆展會的參展發行商,一些鮮有亮相該展會的廠商也紛紛登場。 世嘉與Capcom將在8月亮相德國科隆,他們去年都未參展。 Valve將在未亮相本屆E3,出席本屆德國科隆遊戲展,參展作品...
Read More