綜合討論
瀏覽 : 3213
分享

[分享] Android為何比iOS卡?1G内存够嗎?

一般用戶

等級6

資深大大

陳誠誼2015-1-6 02:11

昨天,一位認證信息為小米員工的網友在微博上發言,“iPhone 6用户都不在意1G内存不够,红米2的1G内存够用了,保持流畅的秘诀就是少装App”,後來的事情大家知道了。
要保持安卓手機的流暢,少裝App確實有用,不過iPhone 6是否流暢和少裝App却没有半個F碼的關係。
iOS 8讓人們第一次發現原來蘋果也會卡頓,而與之相比,Android卡成Shit却早已名聲在外。
Google在推出4.4時發明了ART (Android runtime)來解決卡慢, 5.0時又用ART徹底取代Dalvik,號稱實現高效、省電、流暢的Android系統目標已經實現。
安卓機真的能不再卡頓了吗?一切還得從根源說起!
四大先天因素埋下卡頓根源
第一、基因使然。iOS只需要保證在蘋果僅限的幾款行動設備上的運行體驗,而Android則需要保證能兼容儘量多的已存在和未存在的不同硬體組合。





iOS老祖,UNIX之父Ken Thompso




Android老祖,Linux之父Linus Torvalds


iOS基於Apple的OSX,而OSX基於FreeBSD ,FreeBSD又是在UNIX上衍生的,其根源可以追溯到1969年。Android基於Linux,起源於1991年Linus Torvalds的一個簡單需求。
其實從起源之處就能看出未來命運的注定不同:
UNIX是與硬體配套的商業軟體,而Linux則是可運行在多種硬體上免费自由的開系統。
一個為指定硬體定制優化的系統與一個要在上萬種奇葩配置上跑起來的系統相比,結果會如何?


第二、 響應機制。iOS最先響應螢幕反應,而Android響應螢幕排在應用與框架之後。
iOS響應順序依次為Touch——Media——Service——Core架構,當用户只要觸摸接觸了螢幕之後,系統就會最優先去處理螢幕顯示也就是Touch這個層級,然後才是媒體(Media),服務(Service)以及Core架構。



Android的優先級響應級别則是Application——Framework——Library——Kernal架構,和顯示相關的圖形圖像處理這一部分属於Library,當你對螢幕操作之後,Android系統首先會激活應用、框架,然後才是螢幕最後是核心架構。








第三、開發語言。iOS採用執行效率極高的Objective-C語言,而Android採用的Java語言因為虚擬機的存在,二次轉化再執行效率很低。
Android開發是基於Java“Write once, run anywhere”理念,正因為這個理念,引入了虚擬機,也就是說編碼實際上需要"轉換”才能最終以用户可看的程序跑起來。


第四、後台管理方式。iOS中的後台程序並不是指當前後台運行程序,其實是你最近使用過的程序使用記錄,比如瀏覽器的網頁瀏覽記錄。
Android的後台則是一直在内存中運行,程序在進程活動停止後都會保留在内存中,直到系统需要更多内存再释放這部分資源。(內存就是RAM)


這個後台管理機制造成用户體驗的差異化放大,Android旗艦已進入8核CPU、3G RAM的級别,而iOS却只需要雙核1G就能保持稳定流暢的頭銜不動搖。


三大後天因素拉低用户體驗
其實Android與iOS相比,除了四大先天不同所造成的差距外,還有三大後天因素讓Android的體驗越來越不盡如人意。


1、無序的開發者
Android的開放與自由帶來了大量的開發者,也讓一部分不遵守規範的開發者進入Android的世界,於是應用開始肆意揮霍硬體資源,不少程序都開始自動啟動。
當你安裝了不少的應用之後就會發現,這些應用都開始駐留後台。殺掉這些應用的進程無助於解决問題(因為他們會自動重新啟動,不斷地殺進程會造成他們不斷重啟,最終耗光你的電池),最後你只能徹底删除他們。


因為這個删除的用户需求,一款叫做Clean Master的應用還帶動獵豹行動的上市。
2、無奈的Android Market
由於一些讓人無奈的原因,各種水平不齊,魚龍混雜的第三方市埸充斥於市。而即使在官方的Google Play也經常爆出惡意軟體或者仿冒軟體。混亂的市場和不守序的開發者讓Android的應用環境進入一個越來越差的死循環。


3、無解的碎片化
100個Android手機制造商從Google那拿到Android代码之後,就可以制造出100種搭載不同硬體平台、界面的Android手機,即使是搭載完全相同的硬體,不同品牌的機器,運行速度,軟體兼容性都會有區别,這就是Android開放帶來的碎片化。
就這樣,無論在先天還是後天上Android都注定著一些越來越卡,曾經的4.4没能解决,5.0也不會解决。
那麼Android 5.0 Lollipop若是没能解决卡頓,又到底改變了什麼?


1、改變了運行環境,却没改變運行秩序
ART帶來的體驗明顯提升,告别了虚擬機的Android 更快更省電,不過對於一些不遵守規則的應用而言什麼都没變,還是想怎麼折腾就怎麼折腾。
2、加劇了本已嚴重的碎片化
Lollipop的推出讓很多Android用户歡呼了一陣,幾個月過去後他們發現了真相,自己的手機連4.4的官方更新都還没收到。於是大家就都明白了將希望寄托在新版系統身上,還真不如刷個CM或者MIUI包。
所以Android的卡頓其實從根源上就注定了没有辦法解决,除非Google願意放棄現有市場全部推倒重來,不過那樣的系統和Android已經没有任何關係了吧?
其實Android粉絲們不必過分擔憂卡頓,iOS粉絲也不必慶幸流暢,畢竟庫克的iOS 8已經開始砸金字招牌,說不定到了iOS 10與Android 7.0發布,大家都會變得一樣,没個十核CPU加上8G内存大家都會變得一樣卡了呢?


以上文章來自http://news.mydrivers.com/1/365/365364.htm


雖然只是開放系統與封閉系統的文字差別,但其實其中差異是很大的。這些差異可能以後會隨著硬體的進化,而逐漸的縮小。現階段來說,蘋果的手機與android手機在系統的瀏覽方面已經沒什麼差距。除了載入應用程式的快慢之外,其他差異越來越小。而且在相比之下蘋果系統仍有許多的限制,這也是我不拿蘋果手機的原因。




★HTC論壇三週年生日快樂★
因為你讓我超越想像、不斷實現完美的畫面,讓我看見這一路令人驚豔的一切,我愛上HTC~
檢舉 回應

一般用戶

等級5

新秀大大

raypan8882015-1-6 02:44

謝謝大大讓我們了解2個系統的不同!雖然蘋果手機號稱直覺介面!但我使用時覺得一點也不直覺!要順著它的介面才直覺!限制其實很多!所以還是用安卓系統!

強4登場 HTC論壇四週年‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★*
品牌大使代碼: 8227237
檢舉 回應

一般用戶

等級6

資深大大

陳誠誼2015-1-6 03:05

raypan888 發表於 2015-1-6 02:44
謝謝大大讓我們了解2個系統的不同!雖然蘋果手機號稱直覺介面!但我使用時覺得一點也不直覺!要順著它的介 ...

以前人常說蘋果多順多順,但是到了2015年說實話,蘋果領先的已經很有限了。一方面是ios8目前也開始出現卡頓了,一個封閉系統會卡頓,那是很嚴重的事,開放系統由於邊界不受管制,因此很多應用程式常常有越界的情形。但ios它根本不允許越界,一旦越界就會被踢出應用程式,往後再也進不去。這麼嚴格都會卡頓,那我還是用安卓系統好了。至少有很多ios不能用的可用。

★HTC論壇三週年生日快樂★
因為你讓我超越想像、不斷實現完美的畫面,讓我看見這一路令人驚豔的一切,我愛上HTC~
檢舉 回應

一般用戶

等級2

新手鄉民

Bruce Peng2015-1-6 09:20

好專業的分析
開放性的架構本來就存在硬體配置不一的情況
高端的裝置也許很流暢
但低階的裝置可就很吃力了
也許新機的時候沒什麼感覺
但是APP是不斷進化的
功能增加容量增加的情況下
都會增加硬體與作業系統的負擔

檢舉 回應

分享