search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

老生常談:安卓手機流暢度為什麼不如IOS

相信大家都會有這樣的疑惑,為什麼安卓手機的配置都已經非常高了,可是總感覺它的流暢度還是不如iPhone呢,這到底是為什麼呢?相信大家首先都會說安卓是真後台,IOS是偽後台,其實不然。

首先,是安卓和ios的渲染機制不同。ios的UI渲染是採用濕式優先順序,而安卓的UI渲染是遵循傳統電腦模式的主線程普通優先順序。簡單來說就是ios對屏幕反應是優先順序很高的,用戶只要觸摸屏幕,系統就會最優先處理屏幕顯示的這個層級,馬上給齣動畫效果,然後才處理媒體服務核心的架構;而安卓則是追求進程優先,觸摸屏幕後的手機屏幕顯示和動畫效果放在後面。舉個例子,安卓手機和ios手機同樣打開相同的網頁,安卓手機就會直接將整個網頁全部載入並同時渲染超文本,這無疑就增加了處理器的壓力。在ios中UI渲染過程具有非常高的優先順序別,當用戶接觸到iPhone的觸摸屏后,ios中所有的進程都將停止,UI線程攔截了所有的事件,系統會將所有資源用來渲染UI過程以保證用戶界面的實時渲染優先順序。而在安卓系統中UI渲染過程的優先順序別卻並沒有那麼高,也就是說當你觸摸安卓手機屏幕的時候,系統後台的程序並沒有停止,仍然在繼續運行之中。這是安卓與ios設備關於流暢度的主要原因了。

不過影響流暢度的因素還不止如此,其次是後台機制不同的原因。安卓手機的後台是真後台,像PC一樣將應用保留在RAM中。當使用home鍵退出應用時,程序實際上並沒有完全退出,而是被系統掛在了後台。這就是為何我們關掉了聊天軟體依然能夠收到消息通知,因為它常駐系統內存,包括平時收到的一些垃圾廣告推送也是因為後台有程序運行,所以這就導致了一個現象:從內存使用上來看,安卓剛開機時內存使用很低,如果不進行清理內存操作正常使用一天,內存佔用會越來越高,而內存佔用越高,使用起來流暢度就會降低。所以安卓機器需要更大的RAM來提升用戶體驗。

而IOS,其實是採用的偽後台。當用戶home鍵退出應用時,ios其實關閉了程序,只保留應用的圖像入口,只會默認將應用的最後運行數據記錄在RAM中。可是為什麼ios也能收到信息呢?是因為用戶從應用中選擇了開啟推送之後,系統會增加一些進程,這些進程會從蘋果伺服器接收消息,然後再通過伺服器發送給用戶。蘋果伺服器在這裡起到了中轉站的作用,而正是因為有了這一系列的機制,所以即使iphone的配置相比同類安卓機低了不少,但是ios還是會給人更加流暢的感覺。

接下來就是編程語言的區別了。關於java和OC,它們各有千秋。據民間各路大神的說法,ios設備執行程序的效率比安卓手機高。當然這並不是說誰比誰好,是因為安卓系統的編程語言是java,它的特點是通用性強,可是相對的效率低了一些;而ios則是OC,它的特點是專一性強、效率相對較高,而且ios系統本身優化非常好,程序也是直接執行,所以效率很高。而安卓系統是通過java虛擬機來執行,系統需要佔用大量內存來換取執行速度,也就是要繞個大圈子之後才執行程序,所以效率要低很多。

最後,影響手機流暢度的不僅是以上這些因素。APP的廠商還喜歡給ios設備做優化,由於ios的封閉性,App Store裡面的App都是在iphone等產品上執行,硬體利用率非常高。而且解析度大小,硬體的更新等等參數也比較穩定,優化工作比較容易進行。而安卓手機的硬體配置天天都有改變,這工作量簡直太大了,開發者不可能針對所有的機器型號進行開發,所以只能在比較主流的機器上進行測試並保證運行流暢,這就導致了很多沒有被優化的安卓手機,很難得到流暢的使用和體驗。

現在,大家應該明白為什麼安卓的配置再高,可是總感覺流暢度不如ios了吧。其實真不是安卓不如ios,而且因為以上種種問題的原因。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦