一個是支援java的虛擬機器透過各種最佳化往智慧手機系統躍進的取名安卓的手機系統,一個是基於unix,專為iPhone設計迭代更新,貫徹iPhone手機和互動設計的真正為智慧手機打造的作業系統。那麼目前移動裝置二分天下的兩大主流系統有什麼本質上的區別呢?
首先這兩個系統響應的優先順序不同,iOS系統主要優先於螢幕目前所展示的內容,所有程序優先順序都是以螢幕反應為最高階,換句話說當用戶只要觸控接觸了螢幕之後,系統就會最優先去處理螢幕顯示這個層級,然後才是媒體,服務以及核心架構。而Android系統的優先順序響應層級則是,當觸控式螢幕幕之後Android系統首先會啟用應用框架,然後才是螢幕,最後是核心架構,所以安卓系統載入時感覺不流暢,而蘋果給人的感覺很流暢。
此外iOS基於GPU進行加速。iOS系統對圖形的各種特效處理基本上正好都是基於GPU硬體進行加速的,它可以不用完全藉助CPU或者程式本身,而是透過GPU進行渲染以達到更流暢的操控表現。Android系統產品則並非如此,因為Android需要適應不同的手機硬體,需要滿足各種差異配置,所以很多圖形特效大多都要靠程式本身進行加速和渲染。
後臺機制上,兩種系統也有很大差異。安卓手機的後臺是真後臺,將應用保留在記憶體中,之所以能夠收到推送,也是因為它常駐記憶體。IOS採用偽後臺,當用戶按HOME鍵退出應用時,IOS其實關閉了程式,只保留應用的影象入口,只會預設將最後的執行資料記錄在RAM中。之所以IOS也能收到推送,是因為在應用程式開啟推送後,系統會增加一些程序,這些程序會從蘋果伺服器接收資訊,然後再透過伺服器發給使用者,蘋果伺服器在這裡是起到了中轉的作用。
最後不得不提到的一點是,很多使用者提到的iPhone執行效率比安卓手機高。首先安卓的程式語言是Java,特點是通用性強、效率低。而IOS的則為Objective-C,專一性強、效率高。IOS系統本身最佳化得比較好,而且程式直接執行,所以效率高。而安卓系統是透過Java虛擬機器來執行,再加上記憶體自動回收的機制,所以造成了一些卡頓不流暢的現象出現,系統需要佔用大量記憶體來換取執行速度,相對於是要繞了個大圈才執行程式,所以效率低很多。
其實這兩個程式語言所帶來的機制不同,就已經造成了各自系統之間的流暢性差異化。iOS底層優越性非常明顯,當然安卓選擇的開放之路在前期為自己贏得不少軟體資源。可是後來被iOS趕上甚至因為效率原因、適配優勢,而不得不羨慕iOS獨佔應用。
隨著硬體方面的進步,如今的智慧終端的晶片效能。已經可以輕鬆使兩種系統流暢運行了。系統沒必要分好壞,安卓和IOS可謂各有千秋,就看自己更適合哪一種了。