安卓地圖為什麼沒有蘋果地圖流暢
隨著智能手機的普及,用手機內置的導航或地圖進行道路指引已經成為很多車主的習慣,有擔心用手機裡面的導航正在威脅到車載導航的市場?到底是不是這樣?今天不討論這個問題。不管是安卓,還是蘋果,很多人的手機上都裝有各種地圖或導航軟體,如高德導航、高德地圖、網路地圖、網路導航等,這幾個APP幾乎都是手機裡面的高頻應用,特別是在行車過程中,以至於讓很多人產生了這樣的認識?手機上面的地圖或導航比車載的導航好用。對於這個體驗,說實話並不好反駁,因為人的習慣是很難改變的。那麼手機地圖、手機導航及車載導航,雖然車主們用的比較多,但是不一定很清楚有何差異。我覺得有必要對三者的特點進行分析,讓車主們明白使用導航軟體,至於說到底選擇手機的還是車載的,看完小編的分析再說。
高德地圖和網路地圖,作為手機(移動互聯網)位置應用的兩大巨頭,他們幾乎瓜分了位置應用絕大部分市場份額,推出的APP都是針鋒相對的。不管是高德地圖,還是網路地圖,他們的功能定位基本是相同的。啟動地圖軟體,打開呈現的就是地圖,和紙質的地圖視覺呈現差不多,街道及各種信息點等,看起來信息非常豐富。它可以給行人使用,作為公交、地鐵、的士等交通工具的指南,同時兼顧車上導航的用途,可以說用途非常廣泛。同時還吸收了動態交通信息,迴避擁堵、事故路段。在剛開始的時候,他們的數據都是在線使用,需要耗費流量,現在用戶都能下載數據包,實現離線應用。
高德導航與網路導航,顧名思義就是為導航而推出,應用場景主要是車載。打開軟體,呈現的畫面很簡潔,有立體感,突出道路,這是車載的典型設置。導航數據包可以分開下載,離線應用。不過導航時,離不開移動通訊信號,因為手機基本都是採用的A-GPS定位方式,和單純的GPS定位會有差異。用手機導航作為車載導航,最大的優勢是方便,手機就在身邊,拿起來就用。
B. 為什麼都說蘋果比安卓流暢,安卓真的比不過蘋果嗎
一、優先順序別不同:iOS最先響應屏幕
當我們使用iOS或者是Android手機時,第一步就是滑屏解鎖找到相應程序點擊進入。而這個時候往往是所有操控開始的第一步驟,iOS系統產品就表現出來了流暢的一面,但Android產品卻給人一種卡頓的現象,更別說後續深入玩游戲或者進行其它操控了。這是為什麼?
其實這與兩個系統的優先順序有關,iOS對屏幕反應的優先順序是最高的,它的響應順序依次為Touch--Media--Service--Core架構,換句話說當用戶只要觸摸接觸了屏幕之後,系統就會最優先去處理屏幕顯示也就是Touch這個層級,然後才是媒體(Media),服務(Service)以及Core架構。而Android系統的優先順序響應層級則是Application--Framework--Library--Kernal架構,和顯示相關的圖形圖像處理這一部分屬於Library,你可以看到到第三位才是它,當你觸摸屏幕之後Android系統首先會激活應用,框架然後才是屏幕最後是核心架構。
優先順序的不同導致了iOS產品以及Android手機在操控過程中的表現差異,當你滑動屏幕進行操控的時候,iOS系統會優先處理Touch層級,而Android系統則是第三個才響應Library層級,這是造成它們流暢度不同的因素之一。
二、硬體工作配置不同:iOS基於GPU加速
目前智能手機硬體裝備競賽當中,其實處理器等配置已經達到了一個瓶頸期,各大旗艦產品在硬體比拼當中基本上沒有太大的區別,而這時候GPU就成為了一個凸顯差異的重要因素。一些大型軟體像是3D游戲對GPU性能要求都會比較高,蘋果iPhone產品採用的Power VR SGX系列GPU在當下來說非常的主流,跑分測試數據證明了它並不會比一些旗艦級別的Android產品差勁。
而iOS系統對圖形的各種特效處理基本上正好都是基於GPU硬體進行加速的,它可以不用完全藉助CPU或者程序本身,而是通過GPU進行渲染以達到更流暢的操控表現。但是Android系統產品則並非如此,因為Android需要適應不同的手機硬體,需要滿足各種差異配置,所以很多圖形特效大多都要靠程序本身進行加速和渲染,並嚴重依賴CPU運算的操作自然會加大處理器的負荷,從而出現卡頓的問題。雖然Android 4.0以及4.1等更高版本中進行了改進將硬體加速設為默認開啟,但依舊無法做到所有特效全部都靠GPU進行加速。在很多Android手機裡面都自帶有「是否開啟GPU渲染」這個功能選項,不過開啟之後的改善也是微乎其微。
屏幕最先響應的優先順序關系,再加上iSO本身GPU加速程序的特性,使得大家在操控過程中感覺iOS手機擁有著不錯的流暢性。因為它本身的整個流程都是在為最大化的流暢做服務,不管是第一印象的滑動接觸屏幕,還是你進一步使用程序之後的更深層操作都是如此。而GPU加速這點特性,應該是它優於Android系統流暢性的又一個因素。
三、開發機制不同:安卓機制效率低
Android的編程語言是JAVA,而iOS的則為Objective-C,不過要是說Android系統之所以有些卡頓是因為JAVA開發語言的關系,或者是拿它和Objective-C對比肯定會有人提出質疑。Objective-C的優勢是效率高但比較「唯一」,而JAVA的優勢則是跨平台不過運行效率相對偏低,其實這兩個編程語言所帶來的機制不同,就已經造成了各自系統之間的流暢性差異化。
iOS的Objective-C,編譯器gcc,而這個gcc編譯出來的代碼又被蘋果專為iOS架構優化到了極致,運行過程中也不需要虛擬機在中間插手,執行效率自然很高。這一段話應該是iOS系統本身運行程序的執行過程,而Android是通過JAVA虛擬機來執行,並且系統需要佔用大量內存來換取執行速度,再加上不定期的內存自動回收機制,從而直接導致了卡頓現象的出現。
Android的JAVA編程本身運行效率比Objective-C低一些,而且再加上內存自動回收的機制,所以造成了一些卡頓不流暢的現象出現。但根據技術人員講解,現代的JAVA虛擬機效率已經不再是最大的瓶頸,Android 4.0系統版本之後的卡頓現象明顯得到了改善,所以這也是有用戶並沒有發現自己新買的Android手機出現太多卡頓現象的原因。看來編程語言和機制已經被Android進行了改善,這同樣也不是造成它與iOS流暢性偏差的唯一因素,不過影響卻是實實在在存在著。
三、系統設計不同:安卓APP無法統一
因為iOS產品的封閉性,所以所有的APP運行對象都比較單一,因為每個應用程序都是被運行在iPhone,iPad等iOS產品當中,它們有著很高的硬體利用效率。因為iOS系統的配件供應商只有那麼幾家,CPU也是一年換一次,這點不像Android終端年年變月月變,開發者很難遇見未來終端解析度會包含多少種,GPU驅動會包含哪些等等,所以相對來說Android應用開發成本較高且收益較慢。而iOS應用開發則因為軟硬體垂直整合而受益,這樣一來蘋果自然就保證了應用本身其與硬體產品之間的完美結合程度。
其實Android和iOS兩大系統APP開發情況的不同,也正是它們開發和不開放的特性所造成的。如果要是拿旗艦Android手機加上一個專為這款旗艦產品設計的游戲,來和蘋果iPhone運行對比的話,你真的不會遇到Android旗艦機出現卡頓延遲的問題,為什麼因為這款游戲針對這款手機設計,在軟硬等方面都達到了最大化的兼容和優化,自然就不會出現停滯的現象。
而Android系統程序要被安裝在各種符合要求的手機上面,開發者也不可能針對所有的機器型號進行開發,只能在比較主流的機器上進行測試並保證運行效果,所以他們為了兼顧整個產品線只能不得不降低游戲體驗以達到高中低產品可以共用的效果。最後那些占據了Android終端份額的大量大眾用戶們由於自己的手機不是旗艦產品而得不到流暢的使用體驗,自然而然就會產生Android產品不如iOS流暢的抱怨。
不管是iOS產品感覺比Android流暢還是真的比它流暢,其實說到底原因很簡單。蘋果會花費一年甚至兩年的時間去開發一個桌面icon,一種字體,並去測試屏幕點位,而Android終端中除了Nexus系列之外似乎沒有太多產品可以做到用這么長的時間去做這么細致的事情。有網友說得好,Android做的更多的是「讓系統跑起來」,而iOS擁有著蘋果做的更多的則是「讓系統以最高的效率跑起來」,或許這就是iOS產品比Android更流暢的原因吧。但更好的一面的是,隨著谷歌對Android的持續升級以及各廠商對自家產品的循序改進,使得越來越多的Android終端正在擺脫卡頓不流暢的束縛,未來安卓用戶的期待同樣有望得到更好的滿足。