為什麼 Android 比 Windows Phone 和 iOS 卡頓情況嚴重?

最開始的時候,我認為是多了一個虛擬機解釋執行,卡是自然的;但是最近看了下 C#,WP 是基於 C# 的,並且也存在一個 clr(與Java虛擬機相同);然後就糊塗了,為什麼同樣多了一個中間層,Java 會比 WP 卡?

從處理器上,WP 普遍也用的是高通的處理器,WP 支持其它的處理器嗎?這個原因會不會是 WP 針對高通處理器做了優化?

網路上普遍認為 Android 1G RAM 不如對方 512M 流暢,為什麼 Android 在效率上會悲劇到這個地步?


索尼的Z2和Z3,驍龍801的流暢和省電是有目共睹的。但是,我的刷了CM12.1的Xperia Z2,開啟微信在地球畫面都要假死十秒,體量大欠優化流氓軟體真的成了頑疾。

安卓求開放,給的許可權太多,各種應用自動啟動,或者交叉喚醒,開啟一個app喚醒全家,第三方Push(當然GCM推送的應用我也是用綠色守護解決的)等,都會佔用寶貴的系統資源。

還有用久了以後eMMC掉速,接手過一台摩托xt901,刷CM開設置都要等差不多一秒,後來測速發現讀取22M/s,寫入3.8M/s,TRIM已經沒有用了,整個快閃記憶體都廢了。當然這種現象是要用4、5年以後才有可能發生的(在低端機採用低檔eMMC顆粒的時候尤為明顯) 。最簡單的例子就是安卓車機,雖然你沒往裡面裝什麼應用(限制你不讓裝),依然掉速非常嚴重,不過基本不屬於典型現象。


評論中提到這個答案有些錯誤,請謹慎閱讀。

1. 關於 C# 的 Runtime 和 Dalvik/ART 的區別:C# 那個只是通過封裝好的 API 調用系統功能而已,Java 的虛擬機那真的是個類似於解釋型語言的東西啊……(當然後來有了 JIT 效率高了不少,但是還是比不了完全編譯的語言)而且,Android 會對每個進程開一個虛擬機,這樣的好處是一個進程崩潰不會導致所有進程崩潰,但是資源佔用就更大了。

(這一塊我不太了解,如有誤請指出。)

2. WP 理論上可以支持任何硬體。WP 和 Windows 桌面版差不多,驅動和系統內核是分離的,所以理論上只要有對應驅動就能跑起來。Android 和所有 Linux 一樣,驅動是編譯到內核裡面或者作為內核模塊發布的,驅動和內核必須嚴格對應。

3. 關於運行速度的區別,其實應該說說這些系統控制軟體運行的方式。

iOS:應用打開的時候愛怎麼跑就怎麼跑,後台或者屏幕關閉的時候給 5s 時間結束工作然後 Kill 但是保留緩存(內存不足的時候清理緩存);如果有需要後台運行的(比如說下載)允許申請 10min 時間在後台運行(貌似後來有了更多選擇);部分應用(播放器,導航,VoIP 類等)經過審核可以常駐後台。關閉的應用自動啟動有兩種方式:地理圍欄和 iOS 7 新增的後台啟動。

WP:應用打開的時候愛怎麼跑就怎麼跑,後台以後 Kill 但是保留緩存;部分應用如播放器等可以把播放任務扔給系統來實現關閉後繼續播放。關閉的應用自動啟動的方式:更新鎖屏圖片和信息、使用 Agent。(系統會限制 Agent 數量和運行時間,這個我也不太了解.評論中補充了 WP 8.1 開始支持的 Trigger。)

Android:應用打開的時候愛怎麼跑就怎麼跑,後台的時候 Activity 暫停但是 Service 還是愛怎麼跑就怎麼跑。任何應用都可以註冊 Service。關閉的應用自動啟動有 N 種方式:接收系統 Broadcast,定時啟動,後台 Service,別的 App 發起 Intent,GMS 消息觸發……反正是想怎麼搞就怎麼搞。


稍微說說吧,總結一下。我就不說什麼術語了,簡單點解釋。

一、真後台帶來的性能下降。

1.安卓真後台,多線程運行,WP也是一定程度的多線程,IOS是偽多線程。後兩者其實在實際體驗上,可以混為一談。

真後台對性能需求很大,同一時間的訪問CPU的請求過多會導致每個應用分配的時間片和處理能力都很少,從而給人感覺「跑不動」。這也是為什麼打開的程序越多安卓越卡,而IOS和WP可以隨意打開幾十個程序無所謂。

同樣的,隨著應用的不斷發展,功能越來越複雜,即使系統不變,對內存的需求也會越來越高。除非達到一定的閥值,比如現在安卓的標配是2G(再高點,想擴充到4G,就需要64位處理器了)。WP512M還是在很多地方可以一用的,安卓512以下簡直沒法當智能機使用了。

2.底層運行機制。這個不多說。三者其實都不一樣。WP作為後來者,更完善,兼容性也更好。IOS是絕對不敢適配其他廠商手機的。安卓的深度定製也各不相同,這點不好多說。WP為了保持良好的使用感覺,對硬體的限制也相當高。

3.安卓的屏解析度越高,對配置的要求越高。典型的就是三星S系列1-4一直在配置翻番,到了5,屏幕基本沒變,配置也就基本沒啥提升。屏幕大一點,對配置的要求更高一些。這跟真後台帶來的渲染速度下降是關係密切的。

相比較之下,WP和IOS才是真正的硬體性能過剩。

這完全可以解釋為什麼只有中高端的安卓機型可以體驗到流暢的操作,而低端的安卓機簡直沒法用。也同樣能解釋市面上絕大部分的安卓平板都是相當垃圾。

與之對應的,WP的低端機和IOS老機型,至今的體驗感都還不錯。

4.碎片問題——這個被懷疑為安卓使用時間越長性能越差的元兇。由於4.2和4.4才推出不太久,還需要時間驗證。

關於這點,微軟是看得很透的。WM曾經也是多線程的,完全模擬了WINDOWS系統,所以當時有說法,相比塞班,WM才是真正的智能系統。

但WP時微軟基本完全擯棄了WM的真後台多線程運作,正是看到了這個運行機制的不足——也證明了即使是微軟的技術,重新開發一個新的系統,也無法解決這個難題。

二、惡劣的安卓生態環境

1.生存問題面前,眾多小公司為了賺錢,為了存活,基本放棄了所謂的行業道德。為了點擊率和喚醒時長,想盡辦法常駐後台

2.大量的廣告充斥,且是在後台發布。很多手機助手是讓你看不到廣告彈出了,但其實是彈出時被攔截了而已,並沒有殺掉彈出機制。相反的,因為添加了一個攔截過程,導致性能更差

3.惡劣的軟體環境帶來了「不root你就沒法殺掉流氓,root了反而會帶來更多流氓」的惡性循環裡面。

4.國內技術不值錢與賺不到錢(廠商完全基本靠運營來招攬客戶而不是產品質量)導致的技術也拿自己產品不當回事。用戶不愛交錢,導致開發商只能從其他地方收錢,比如內部收費,比如廣告,降低遊戲體驗。不想花錢就要受罪,花時間。由是反覆。曾經安卓端最好的瀏覽器——海豚瀏覽器,現在只能靠國外收費賺錢。

5.安卓開發的審核機制不完善導致的大量低品質應用。這裡的低品質不僅僅是說質量差,而是大量的垃圾代碼和演算法直接拉低了你的手機運行。大量的使用內存而不釋放,簡單的幾個步驟卻耗掉了長時間的CPU運算等等。

解釋下討論區的疑問:

IOS和WP一樣有低品質應用,但他們只有一個應用下載平台,而且對應用的商家要求很高,該寫的資料基本都不能少。評分機制也會讓大量差評的應用下架。而且這兩大平台也會自我調整和檢查。雖然誤傷率比較大。

安卓的下載平台可就太多了,一個廠商一個商店,還有眾多的公用商店,為了拉流量和點擊率,很多應用給錢就上首頁推薦,測試工作也做得極差。更遑論應用內部彈出來的應用下載廣告了。

主要是這兩條。其他的可以繼續補充。

================================================

update by 6.15

補充一點關於WP的東東

1.現階段WP手機只推薦lumia,別的廠商基本只是玩票性質。

2.如果你對應用需求極高,喜歡各種冷門應用,WP不是你的選擇。

3.WP應用存在一些問題和功能不足,但遠遠沒有外界傳言的那麼誇張。WP內應用更多的是功能欠缺,比如微信沒有遊戲,QQ才剛剛出語音系統,等等。至於阿里系應用,在新的支付寶上架以前,允許我罵髒話

4.我不會特別的推薦lumia手機給朋友,尤其是喜歡折騰手機的年輕人,以及有信仰的果粉。但對於商務人士,平時手機主要用於辦公記事電話聊天拍照通訊,無冷門應用需求,lumia是個很不錯的選擇。

5.如果你喜歡win8,喜歡metro界面,重度微軟產品使用者,surface是你的潛在消費品,請一定買一款WP手機

6.已經習慣了安卓與蘋果的用戶,謹慎投身wp陣營,除非你覺得操作習慣的改變對你來說不是太大的問題。

7.現階段WP手機相比起安卓與Ios除了外觀與拍照,確實沒有絕對碾壓的優勢。但我非常看好WP的未來。

8.截至到目前為止,WP稱之為最安全的系統不為過。IOS自身還存在很多安全漏洞,更遑論許多因為各種原因想越獄的人。微軟在中國浸潤十幾年,積攢了很多經驗。雖然總體上還是為歐美人設計,但在很大程度上照顧了中國人,輸入法的詞庫是所有官方最好的,且還在不斷更新。


我想說的是WP並不流暢,很多軟體你能看到它UI元素一個一個載入(典型如打開QQ),還有920這一級別的機器在Here Maps裡面拖動那個丟幀啊,要驍龍800的機器(1520)才能解決。你覺得它流暢,那是因為WP的UI動畫有相當高的優先順序,如果你的所有動作都能立刻在屏幕動畫上體現出來,你就會覺得系統響應了,這就是WP讓你覺得流暢的原因。

iOS確實流暢,那是建立在高配置尤其是顯卡+低解析度+高速快閃記憶體以及ObjC的基礎上的。

流暢還是卡頓其實很多時候是個可以通過技巧塑造的錯覺。WebOS其實性能很低下,但是它動畫不卡,所以WebOS剛被放棄的時候還有很多人認為WebOS很快開100個後台(實際上只是留著卡片,進程早就緩存了)都不卡完勝Android之類。WP就是一個掩飾卡頓比較好的系統,不容易感覺到性能瓶頸。

另外需要指出的是,無論iOS還是WP,512MB內存機型可用度到今天已經很差了,WP體現在眾多遊戲不支持,支持也是低畫質,瀏覽器滾動看空白上,iOS體現在閃退,Safari重載上。現在程序複雜資源體積大,網頁Javascript多,全都是內存大戶。其實Retina iPad的1GB內存也比較吃緊。

Android不流暢很大一部分原因是UI渲染機制問題。Android每一個元素:框架-&>標題欄,程序界面-&>程序本身,虛擬鍵盤-&>輸入法,虛擬按鍵-&>框架都運行在自己的沙盒裡,系統再把這所有組件合成一副畫面呈現在屏幕上。如果要使用GPU加速這個渲染過程,就需要GPU支持多目標渲染,而移動GPU大體功能還比較孱弱,很多不支持或者不完善,所以UI流暢度還不能夠完美。(這一段是看來的,如有過時信息請指正)

雖然Android UI流暢度不夠完美,但是Android實際操作並不慢,得益於高配硬體,同代頂配Android機器一般速度介於同代iPhone和同代WP之間。


同意韓學森先生的答案。實際上一個1G以上RAM,Android4.1以上系統的Android手機,不裝任何東西的話其流暢度不比iOS差多少。越用越卡就是第三方應用裝太多。
在國內卡頓的情況還更嚴重一些。一來部分開發商無恥,就要常駐後台黑黑你的流量,偷看你的隱私;二來因為我天朝政府和谷歌的特殊關係,某些技術環節比如消息推送不能用現成的方案,而要自己開發,那麼可能是不得已常駐後台;三來部分開發商不遵守平台規範,另一個平台的UI直接搬過來怎麼可能和原版一樣流暢。
不過解決的方法還是有的,就是需要折騰。比如root後限制應用許可權,定期清理一下系統和應用垃圾。


作為一個文科生,我必須誠懇地告訴大家我對具體的理論性很強的地方比如底層架構和語言優劣方面確實不太懂,下面得出來的結論多半都是通過我的日常使用和看別人的觀點自己總結歸納的,歡迎各位指正錯誤orz

另附一個看上去很懂行的理科生的分析http://card.weibo.com/article/h5/s#cid=1001603901597414459262vid=extparam=from=wm=0ip=111.22.3.76,雖然我不懂很多理論上的東西,不過在結論上觀點是一致的——「總而言之,你們只需要知道Android 和iOS是different but not better than each other就行了。」

----這裡是分割線----下面是原答案---

考完試不想複習下一科過來回答一下問題。

先說結論:是個手機都會越用越卡。原因有倆:硬體老化與軟體迭代。硬體老化不用解釋太多了吧,隨著時間推移和長時間的使用,手機的硬體會逐漸老化並且性能下滑。軟體迭代就是指隨著(新發售的)手機的性能增長,軟體也變得越來越吃性能了,這時候性能不會自動增長的老手機必然在更新APP以後越來越卡……(舉個例子,試試12年的QQ再看看今年的QQ,是不是QQ的後台佔用增長了好幾倍,原先512MB內存都夠用QQ+微信了,現在估計一個QQ都難hold住)

接下來開始論題,是Android越用越卡而iOS相對性的不會嗎?(wp不想討論,因為不熟)如果這個問題裡面有一個前提是:國內,不翻牆,不root,不裝xposed,在中國大眾的使用習慣下的話。我覺得是的,安卓的變卡頓的速度要遠超iOS。

理由大致有三個:

一個首要的原因是缺乏監管,而不是很多人認為的系統機制問題。谷歌沒有統一推送服務嗎?朋友你知道gcm嗎?谷歌沒有許可權管理嗎?6.0自帶了。谷歌沒有應用審核嗎?google play的審核不比app store松。但是在國內少了谷歌的制約,Android就只是安卓,各大廠商尤其是bat可以肆無忌憚地佔用後台、竊取用戶信息、推送通知、濫用許可權(6.0里你要敢禁支付寶的許可權,支付寶就敢不給你用應用,這種惡意逼迫用戶的方式也是沒誰了)。試想一下,Android手機剛買回來什麼都不裝的時候卡嗎?不卡,軟體越多越卡,國內軟體越多越卡得瘋狂。比如黃油相機這個應用,你說你一個相機應用,為什麼退出了你還要在後台霸著地盤?連一個並不需要後台駐留的相機應用都要顯得沒事駐留後台開機自啟,那就更別提那些自認為用戶缺不了他們通知的各類bat本家應用了。

但我想問問冷靜點的群眾們,這是Android的鍋是谷歌的鍋嗎?如果是,為什麼在國外大部分廠商都會乖乖遵循谷歌的設計規範,比如使用material design,比如使用統一的gcm推送而不是自己在後台搞個推送服務?為什麼阿里在國外推出的海外版淘寶(叫AliExpress shopping app)會很乖很流暢而在國內就各種呵呵噠呢?橘生淮南則為橘,生淮北則為枳,是橘的錯更多還是地理因素更多呢?說到底,是誰讓谷歌對中國市場毫無辦法無法監管呢?答案我就不說了。

二,次要的原因才是機制問題。早期的Android(4.4以下)對硬體性能的利用率堪稱浪費(Java虛擬機的鍋)。這一點的論述很多答案里都說了這是底層機制差異帶來的問題,我就不說了。但問題是現在是2016年了啊,Android從4.4開始就引入art模式拋棄效率低下的虛擬機了啊。但目前除了每年的旗艦機型,大部分手機都是沒什麼資格收到系統更新推送的,所以許多還停留在4.4以前版本的手機自然越用越卡。(作為對比,iOS只有高端機,後續支持長達數年,你讓千元機一年內和高端機比比流暢度還有點希望,可是時間一長能怎麼比?很多人拿小米1s和4S比,我覺得這就不公平。)這裡面還涉及一個有趣的現象:iOS越升級通常越卡,而Android恰恰相反,4.4到5.0,5.1到6.0,每一步的版本大更新都是讓手機越來越順(出現適配bug那是廠家優化的問題,屬於特殊情況)

三,最後的原因才是碎片化,蘋果的好處就是iOS只為iPhone和iPad服務,所以優化起來方便。但Android做不到,哪怕是Nexus也只會支持2年的官方升級。

這種碎片化的情況下,你的手機ROM體驗好不好,後續支持好不好全憑廠家良心,遇上一個不負責任的廠家,買了以後就再也沒有後續更新(比如我爸的電信雙卡版P7,反正買回來他就沒收到過更新)那又有什麼辦法?可是廠家不負責任,背鍋的卻是全體Android。

最後,我想說點題外的。Android在國內,會折騰的人可以讓它比iOS更好,不願折騰的人很容易被流氓煩死。但這部分人終究只是少數,不能作為來評判Android與iOS哪個更卡的論據——個例不能代表普遍。但是另一方面,我也希望不要把中國的特殊國情下搞出的中國特色安卓生態=Android生態,谷歌不在大陸才搞得大陸市場可以光明正大的不遵守谷歌的遊戲規則,搞得國內生態環境一泡污。而事實上在國外有很多人的Android老手機用了一兩年也是很順滑絲毫不遜色於iOS。從底層機制上看,iOS確實有優勢,但Android也在迎頭趕上,能在國外用上gcm推送的、能用上Google play里的優質的良心的不濫用後台許可權的人也不會覺得Android app怎麼佔用這麼多後台那麼煩啊。目前iOS是90分的話,Android其實也有80分了(國內安卓恕我直言,只有60分),很多人對安卓泛濫的生態指責是對的,但只限國內。


對於安卓流暢是國內流氓軟體開發商在應用中太多無用插件和功能,佔用大量系統資源臭名昭著的qq微信國內版本甚至不能在512運存機器上同時運行,在加上本身優化就差。在加上眾人偏愛某手機衛士。你說們說怎麼運行流暢。


安卓佔用系統內存太大,wp8僅僅佔用幾十兆,安卓得沒完沒了殺進程,清內存。而wp8不需要。


Android機用好了可以把千元機用出3000元機的級別,反之亦然,Android的開放性與多後台決定了他強烈地依賴開發者優化,而由於國內一些國情和許多無良廠商,導致很多人使用Android機都有一種卡頓感。所以最後鍋就丟給了用戶:麻煩地折騰手機還是就那麼用,忍受卡頓,實際上大部分人會選擇第二種,等卡的不行了就是手機落後了,需要換更新更好的產品。

從Android6.0開始Google也發現問題了,6.0新的後台機制和許可權管理讓人們看到了不用折騰也能很流暢的曙光


有提到BAT應用的

哈哈哈我就是那個BAT完全看不到影子的用戶,你為什麼覺得人在國內手機就必須有這些東西呢?

微信我是完全不用的,微信號都沒有

QQ只用PC的國際版

至於淘寶和百度,這種東西都是瀏覽器端的服務,為什麼一定要app?

國內的服務沒人逼你用,你自己非要往上湊,卡了怪誰呢?

要是說一定要用QQ,那不是還有國際版嗎

至於微信么...非要用我也沒辦法,不過我這樣一個沒有微信號的在國內不也過的很正常么,可見這東西不是一定要的,有時候還可以避開廣告推銷的

——『帥哥我們新開業的創業團隊,你加下我們公眾號支持一下吧.』

——『我沒有微信』

——『您都不社交的嗎?』

——『沒微信就不能社交了嗎?』

——『...』

看著推銷的小哥走掉的時候我是非常爽的

如果有哪天我選擇用ios,那肯定不是我想換陣營,只是單純買台iphone當開發環境使,僅此而已

更正:目前qq已經放棄國際版,桌面端qq目前看來最好用的不是什麼國際版,而是win10平板的版本,就是微軟商店的那個版本,我已經全面放棄那種能拉出一長條的桌面qq。

果然BAT手再長也管不到微軟爸爸,再加上這個版本人數稀少,反而成了安全地帶。。。BAT真的是讓人想打一頓。

學會找替代品,因為軟體環境不給力導致的不舒服有兩種解決辦法:

第一是換環境,手段有二,肉身翻牆,或者換蘋果

第二是找當前環境替代品,遠離這些軟體垃圾,一般適合於不能喜歡另一種環境(比如apple)的人

我採用了第二種辦法。

另:再更正,百度搜索也已經不能用了,想當初我那麼支持李彥宏,你就這樣對待我們這些用戶?曾經和google大戰三百回合的百度我那麼滋瓷,現在的百度我只想一腳踢死他。再見百度,我掛vpn上google上yahoo也不用你了


樓上 @朱煥傑和 @韓學森 把技術層面的說完了,我說點別的

覺得安卓卡,是因為人民群眾對安卓的主要印象來自於充話費送的手機。

千元安卓想要蘋果的體驗簡直就是耍流氓!!!!


因為你國產軟體裝多了

因為你用的是流氓rom

因為你手機太渣

我的android手機多任務切換和觸摸都非常流暢,比iPhone5s快


花了五秒鐘進來,打了三分鐘字卡了兩分四十五秒後告訴你,你可以感受一下iPhone4用ios7以後再說


同意 @蔣沭的觀點,如果有意願把水果和安卓一爭高下,請拿出和水果同等價位的手機。

價位問題:請拿出相同價位的蘋果產品和安卓對比。本人的iPad2早已束之高閣,原因就是它只擁有千元華為的卡頓,比好的,而在五千元價位上,三星S7edge入手幾個月了,流暢得飛起。

刷機問題:有些回答盯著兩三千的安卓三刷五刷後的混亂和iPhone6如何如何流暢,我想這是很不公平的。安卓市場軟體來源和第三方rom混亂,不代表我可以只從應用寶、三星商店和各個軟體官方網站下載——類似於ITunes,那體驗也是沒問題的。本人的ipad2越獄之後廣告一直跳,右上角的關閉按鈕極小,家長一戳自動下載,於是每次我拿來用都多出一兩個神奇的購物和手游,直至官方升級iOS9之後不跳了——每個軟體打開前卡十幾秒而已。這個時候難道就能以越獄的蘋果代表蘋果用戶的平均體驗嗎?這時就能得出為什麼IOS比安卓卡頓的結論嗎?

許可權問題:我聽到果粉跟我講的最多的是,蘋果可以限制軟體窺視用戶信息,拍照、發簡訊都要用戶允許,而安卓沒有。抱歉,安卓6.0.1系統也有,軟體是可以禁止後台自動運行的——對於非社交軟體也的確這麼做了

而且蘋果沒有廣大用戶,特別是果粉想像的那麼安全——這也是前幾個月沒有入手iPhone6s plus的原因之一。哪怕你不越獄,照片被泄露的可能性也不低。蘋果iCloud泄露好萊塢女星艷照引發安全質疑

iMessage驚天漏洞:用戶照片、視頻可被盜取

過去的幾年裡iPhone用了2台,中興華為火腿腸索尼各一台,三星三台,一句話,什麼價位的手機有什麼樣的體驗。安卓比蘋果卡頓嚴重這種外行的話,也就是騙騙小白罷了


1.請安裝安卓原生系統,不要什麼深度定製版

2.請不要下載某某殺毒軟體管家之類,後台很耗資源

3.請下載官方軟體,不要用什麼破解版

4.請使用與蘋果同價位的安卓機比較

5.請調整軟體許可權

1.蘋果也卡頓,我同桌玩兒小心3d也卡頓

2.蘋果升級經常白屏

3.你蘋果越獄後比便宜的安卓更卡

4.心理作用

5.因為蘋果機子沒有千元以下的


反正我個人用一加一的體驗在流暢度方面完全不輸iOS設備


在安吧有一個說法很有意思。

安卓卡,Android不卡。結合樓上的回答你可以想一下


事實上,安卓用了綠色守護加阻止運行也是很流暢的。

或者禁止後台

小米5路過


你看到的國內軟體基本上是這樣子的

國外的軟體則是這樣的


因為你沒用過wp8,沒體驗過正在恢復……


推薦閱讀:

現在android開發都會用到那些快速開發框架或者第三庫?
如何評價技德科技(JIDE)推出的 Remix Android 平板電腦?
Google已退出大陸市場,Google Play 如何入華?
2016年,Android和iOS相比差距多大?
為什麼阿里雲 OS 2.0 要稱作自主開發呢?阿里雲 OS 和 Android 是什麼關係?

TAG:iOS | Android | WindowsPhone |