一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【搬運】安卓4.4 ART模式簡單科普,屌絲的逆襲

 屬于我自己的 2014-05-13
也許人們在得知 Google 新發(fā)布的 Android 系統(tǒng)版本名稱為 4.4 時都不以為然,認為這個升級十分微不足道,只升級了 0.1 的版本號,啟用了 KitKat 的新代號而已。就算是 Google 官方,對待此次升級也是頗為低調(diào)??墒侨绻私饬薃ndroid 4.4所暗示的變化時,我覺得所有 Android 開發(fā)者和其他利益相關(guān)者都必須打起十二分精神對看待 Android 4.4 了。



當官方發(fā)布 Android KitKat 4.4 時,我簡單瀏覽了一下 Google+ 上官方賬戶發(fā)布的對該系統(tǒng)的簡介,覺得值得關(guān)注的只有兩點:1)對內(nèi)存的需求降低了,2)支持更多的 Sensor。綜合起來,就是為可穿戴設備開路。確實沒有更多的亮點可言,只是順應了大的發(fā)展方向而已。隨后我圖個性價比,預定了Nexus 5,到手試用后第一感覺是“物美價廉”,對系統(tǒng)本身沒有太大的感覺。



后來為了進行開發(fā)測試,我打開了“開發(fā)者模式”,其中有一個選項引起了我的注意,叫“選擇運行時環(huán)境”,這是之前版本都沒有的選項,可選項有 Dalvik 和 ART(默認是 Dalvik),Dalvik 即 Android 一直以來使用的運行方式。為了弄明白這到底是個什么東西,我試著在 Google 上搜了一下,直接改變了我對 4.4 版本存在意義的看法。



簡單地說,就是 Android 程序運行的根本機制改變了,程序會啟動地更快,而且會更省資源。表現(xiàn)在用戶體驗上,就是 Android 更流暢了,同時續(xù)航能力顯著增加。這種變化不是小打小鬧,而是非常可觀的大變化,根據(jù)AndroidPolicy上專項文章的說法,這個改變可以讓部分 Android 程序的啟動加速 50%,理論上待機時間也會顯著增加。



根據(jù)該文后一些“小白鼠”們的評論,他們在試用了 ART 運行模式后,都體會到了其帶來的速度提升和續(xù)航提升,而且效果非常明顯。這說明這個尚處在實驗階段的 ART 模式已經(jīng)能夠帶來明顯的好處,唯一不足的是,作為 Beta 版,穩(wěn)定性欠佳。



眾所周知,Android 是基于 Java 語言的,iOS 是基于 Obejctive-C。表現(xiàn)在手機和應用程序運行機制上,Java 的代碼實際上需要兩次“轉(zhuǎn)換”才能最終以用戶可看的程序跑起來,一次發(fā)生在開發(fā)者發(fā)布安裝包前,使用開發(fā)者自己機器的 CPU,另一次在用戶啟動 APP 前,使用手機的 CPU。而基于 Objective-C 的代碼只需要一次這種“轉(zhuǎn)換”,在開發(fā)者發(fā)布安裝包前,所以只占用開發(fā)者機器的 CPU 時間。



我們假設同樣代碼量的程序,需要同樣多的 CPU 時間,進行從代碼到最終能跑的“轉(zhuǎn)換”。那么把這種工作全部放在了開發(fā)者的機器上進行的 iOS 顯然就更具優(yōu)勢,因為用戶在打開 APP 之前不需要再浪費時間進行“轉(zhuǎn)換”,這部分時間由開發(fā)者“忍受”了。而 Android 程序啟動相對較慢就是因為第二次“轉(zhuǎn)化”需要在打開程序時進行引起的。這兩種機制是歷史的產(chǎn)物,總體上不能說誰好誰壞,只有適用范圍的問題。考慮到手機屬于體驗要求比較高的設備,顯然 iOS 這種機制更合適。所以這兩種機制帶來的后果就是,iOS 總是比 Android 快,而且是天生的。



現(xiàn)在 ART 的出現(xiàn)代表了什么?代表了 Android 在啟動程序時將像 iOS 一樣,無須進行第二次“轉(zhuǎn)換”工作了。ART 把第二次“轉(zhuǎn)換”所要使用的時間放在“程序安裝時”進行,而不再是“程序啟動時”進行。這樣做雖然安裝程序時要慢一點,但是在使用時就會明顯快起來。按我的淺薄理解,就是把以前每次啟動程序都要做的工作改成“一次性”的工作,放在用戶不那么在乎的安裝時完成。這從長期來看也降低了總體的“轉(zhuǎn)換”時間。



試想一個程序,安裝后你使用了 N 次。按原先 Dalvik 的方法(術(shù)語叫 Just-in-time compilation),N 次啟動就需要進行 N 次這樣的“轉(zhuǎn)換”。但是按照 ART 的方法(術(shù)語叫 Ahead-of-time compilation),不管這個程序你使用幾次,都只發(fā)生一次“轉(zhuǎn)換”。這也解釋了為什么使用 ART 會降低 CPU 的使用頻率,進而降低電量的使用。



當然,ART 也會帶來其他的負面影響。其一是增加程序安裝所需的時間,只是目前還不知道具體會是多少??紤]到其他技術(shù)因素,這個時長的增加可能比我為了講解方便所舉的“第二次轉(zhuǎn)換”所需的時長要長一點,但是肯定不會長到無法忍受的地步。據(jù)我查到的資料,這個變化對小程序幾乎可以忽略不計,受影響的應該是以游戲為主的程序,因為他們本身代碼量就更大。不過這跟你獲得的收益也是成正比的,因為 ART 可以讓你在打開游戲時省更多的時間。如果將來都是“后臺安裝”的話,對用戶體驗更是微乎其微,你去看幾個新聞這時間就過去了。



第二個缺點是會使安裝后的文件占用更多的空間,據(jù)稱是 10%-20% 的增長。不過不要緊,這個增長指的是對“代碼”部分文件的增加,比如一個 100M 的游戲,可能代碼只有 20M,剩下 80M 是圖片和音樂等文件,所以即便增加 20% 的安裝所需空間,也只不過多了 4M 而已,在動輒 16G,32G,甚至 128G 容量的智能手機面前,影響更是微乎其微。



據(jù)我了解,ART 這個項目其實在 2 年前就已經(jīng)開始了,只不過之前一直不受關(guān)注,只有零星的報道,畢竟“計劃不等于現(xiàn)實”嘛??墒乾F(xiàn)在 Android 4.4 版本以“開發(fā)者預覽”的形式將其呈現(xiàn)出來,目的就是讓手機廠商、應用開發(fā)者等進行測試,從而幫助該項目進行改進。從我得到的信息來看,ART 的穩(wěn)定性并不差,完全可以勝任日常使用。



這也是為什么我會說,Android 4.4 的 ART 選項可能預示著 Android 5.0 系統(tǒng)會出現(xiàn)重大改變——徹底從Dalvik轉(zhuǎn)換到ART。如果真的是這樣的話,iOS 開發(fā)人員和其用戶所引以為傲的流暢體驗將不再是一個值得炫耀的東西,因為這種體驗將隨著登陸 Android 平臺變得“大眾化”,再加上 Android 市場占有率的巨大優(yōu)勢、Google Play 商店的崛起,iOS 設備還能靠什么支撐自己的高價策略?

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产国产精品精品在线| 精品人妻一区二区三区免费看 | 国产精品一区二区香蕉视频 | 婷婷亚洲综合五月天麻豆| 国产又粗又长又爽又猛的视频| 欧洲精品一区二区三区四区| 丝袜人妻夜夜爽一区二区三区| 国产成人亚洲精品青草天美| 加勒比日本欧美在线观看| 国产av精品一区二区| 国产主播精品福利午夜二区| 日韩女优视频国产一区| 国产不卡的视频在线观看| 高清一区二区三区四区五区| 女生更色还是男生更色| 久久机热频这里只精品| 亚洲免费黄色高清在线观看| 国产免费成人激情视频| 国产精品大秀视频日韩精品| 欧美黑人精品一区二区在线| 中文字幕无线码一区欧美| 国产精品一区二区成人在线| 91香蕉视频精品在线看| 国自产拍偷拍福利精品图片| 精品国产日韩一区三区| 日韩18一区二区三区| 国产精品香蕉在线的人| 亚洲国产成人爱av在线播放下载| 办公室丝袜高跟秘书国产| 欧美激情一区=区三区| 操白丝女孩在线观看免费高清| 我想看亚洲一级黄色录像| 日韩欧美二区中文字幕| 麻豆欧美精品国产综合久久| 好吊一区二区三区在线看| 沐浴偷拍一区二区视频| 成人免费视频免费观看| 91欧美一区二区三区成人| 久久机热频这里只精品| 不卡在线播放一区二区三区| 亚洲中文字幕人妻系列|