Android 卡是必須的,當你的手機裝了 20 多個 app,那不卡才叫見鬼了呢,我手機微信都打不開,手機直接自動重啓啦~哪一種東西生來就是完美的呢?即使是臺式機,也是越用越慢。換句話,若是沒有特別緣由,誰的手機能裝那麼多 app,而且都在用呢,你常常用的有幾個?~iOS 生來就是爲移動而生,Google 能把 Linux 改形成手機操做系統也不易(說明 Linux 這東西真是強大啊!);iOS 是封閉的,Android 是開放的(蘋果和 Google 是兩個理念徹底不一樣的公司)。在說 Android 卡的同時,不能忽視商業競爭和硬件發展,當年 Java 出現時,也有人詬病它的慢……對技術仍是要有顆包容的心,尤爲是對 Android,若是你夠牛,從 google 下載源代碼,就能夠有本身的手機了,除此以外,還有別的方式嗎,這難道很差嗎~這種狀況,又何止 Android,在 IT 界太常見了,網絡 7 層、Web、瀏覽器、HTML 5 等等,實際使用已經不少年了,可標準化卻跟不上,要想把握很難,開源的尤爲如此~ 瀏覽器
昨天,一位認證信息爲小米員工的網友在微博上發言,「iPhone 6 用戶都不在乎1G內存不夠,紅米 2 的 1G內存夠用了,保持流暢的祕訣就是少裝App」,後來的事情你們知道了。微信
要保持安卓手機流暢,少裝 App 確實有用,不過 iPhone 6 是否流暢和少裝 App 卻沒有半個錢關係。網絡
iOS 8讓人們第一次發現原來蘋果也會卡頓,而與之相比,Android 卡卻早已名聲在外。架構
Google 在推出 4.4 時發明了ART(Android runtime)來解決卡慢, 5.0 時又用 ART 完全取代 Dalvik,號稱實現高效、省電、流暢的 Android 系統目標已經實現。app
安卓機真的能再也不卡頓了嗎?一切還得從根源提及!框架
第1、基因使然。iOS 只須要保證在蘋果僅限的幾款移動設備上的運行體驗,而 Android 則須要保證能兼容儘可能多的已存在和未存在的不一樣硬件組合。優化
iOS老祖,UNIX 之父 Ken Thompsongoogle
Android 老祖,Linux 之父 Linus Torvalds編碼
iOS 基於 Apple 的 OSX,而 OSX 基於 FreeBSD ,FreeBSD 又是在 UNIX 上衍生的,其根源能夠追溯到 1969 年。Android 基於 Linux,起源於 1991 年 Linus Torvalds 的一個簡單需求。 操作系統
其實從起源之處就能看出將來命運的註定不一樣:
UNIX 是與硬件配套的商業軟件,而 Linux 則是可運行在多種硬件上免費自由的開源系統。
一個爲指定硬件定製優化的系統與一個要在上萬種奇葩配置上跑起來的系統相比,結果會如何?
第2、 響應機制。iOS 最早響應屏幕反應,而 Android 響應屏幕排在應用與框架以後。
iOS 響應順序依次爲 Touch——Media——Service——Core 架構,當用戶只要觸摸屏幕以後,系統就會最優先去處理屏幕顯示也就是 Touch 這個層級,而後纔是媒體(Media),服務(Service)以及 Core 架構。
Android 的優先級響應級別則是 Application——Framework——Library——Kernal 架構,和顯示相關的圖形圖像處理這一部分屬於 Library,當你對屏幕操做以後,Android 系統首先會激活應用、框架,而後纔是屏幕最後是核心架構。
第3、開發語言。iOS 採用執行效率極高的 Objective-C 語言,而 Android 採用的 Java 語言由於虛擬機的存在,二次轉化再執行效率很低。
Android 開發是基於 Java「Write once, run anywhere」理念,正由於這個理念,引入了虛擬機,也就是說編碼實際上須要「轉換」才能最終以用戶可看的程序跑起來。
第4、後臺管理方式。iOS 中的後臺程序並非指當先後臺運行程序,實際上是你最近使用過的程序使用記錄,好比瀏覽器的網頁瀏覽記錄。
Android 後臺則是一直在內存中運行,程序在進程活動中止後都會保留在內存中,直到系統須要更多內存再釋放這部分資源。
這個後臺管理機制形成用戶感知的差別化放大,Android 旗艦已進入8核CPU、3G RAM的級別,而iOS卻只須要雙核1G就能保持穩定流暢的頭銜不動搖。
其實 Android 與 iOS 相比,除了四大先天不一樣所形成的差距外,還有三大後天因素讓 Android 的體驗愈來愈不盡如人意。
一、無序的開發者
Android 的開放與自由帶來了大量的開發者,也讓一部分不遵照規範的開發者進入 Android 的世界,因而應用開始肆意揮霍硬件資源,很多程序都開始自動啓動。
當你安裝了很多的應用以後就會發現,這些應用都開始駐留後臺。殺掉這些應用的進程無助於解決問題(由於他們會自動從新啓動,不斷地殺進程會形成他們不斷重啓,最終耗光你的電池),最後你只能完全刪除他們。
由於這個刪除的用戶需求,一款叫作 Clean Master 的應用還帶動了獵豹移動的上市。
二、無奈的 Android Market
因爲一些讓人無奈的緣由,各類水平不齊、魚龍混炸的第三方市場充斥於市。而即便在官方的 Google Play 也常常爆出惡意軟件或者仿冒軟件。混亂的市場和不守序的開發者讓 Android 的應用環境進入一個愈來愈差的死循環。
三、無解的碎片化
100 個 Android 手機制造商從 Google 那拿到 Android 代碼以後,就能夠製造出 100 種搭載不一樣硬件平臺、界面的 Android 手機,即便是搭載徹底相同的硬件,不一樣品牌的機器,運行速度,軟件兼容性都會有區別,這就是 Android 開放帶來的碎片化。
就這樣,不管在先天仍是後天上,Android 都註定着愈來愈卡,曾經的 4.4 沒能解決,5.0 也不會解決。
那麼 Android 5.0 Lollipop 如果沒能解決卡頓,又到底改變了什麼?
一、改變了運行環境,卻沒改變運行秩序
ART 帶來的體驗明顯提高,告別了虛擬機的 Android 更快更省電,不過對於一些不遵照規則的應用而言什麼都沒變,仍是想怎麼折騰就怎麼折騰。
二、加重了本已嚴重的碎片化
Lollipop 的推出讓不少 Android 用戶歡呼了一陣,幾個月過去後他們發現真相,本身的手機連 4.4 的官方更新都還沒收到。因而你們就都明白了將但願寄託在新版系統身上,還真不如刷個 CM 或者 MIUI 包。
因此 Android 的卡頓其實從根源上就註定了沒有辦法解決,除非 Google 願意放棄現有市場所有推倒重來,不過那樣的系統和 Android 已經沒有任何關係了吧?
其實 Android 粉絲們沒必要過度擔心卡頓,iOS 粉絲也沒必要慶幸流暢,畢竟庫克的 iOS 8 已經開始砸金字招牌,說不定到了 iOS 10 與 Android 7.0 發佈,你們都會變得同樣,沒個十核CPU加上8G內存你們都會變得同樣卡了呢?
參考: