偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Android4.4 ART模式簡單科普,屌絲的逆襲

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

也許人們在得知 Google 新發(fā)布的 Android 系統(tǒng)版本名稱為 4.4 時都不以為然,認為這個升級十分微不足道,只升級了 0.1 的版本號,啟用了 KitKat 的新代號而已。就算是 Google 官方,對待此次升級也是頗為低調(diào)。可是如果了解了Android 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。綜合起來,就是為可穿戴設(shè)備開路。確實沒有更多的亮點可言,只是順應(yīng)了大的發(fā)展方向而已。隨后我圖個性價比,預(yù)定了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)在手機和應(yīng)用程序運行機制上,Java 的代碼實際上需要兩次“轉(zhuǎn)換”才能最終以用戶可看的程序跑起來,一次發(fā)生在開發(fā)者發(fā)布安裝包前,使用開發(fā)者自己機器的 CPU,另一次在用戶啟動 APP 前,使用手機的 CPU。而基于 Objective-C 的代碼只需要一次這種“轉(zhuǎn)換”,在開發(fā)者發(fā)布安裝包前,所以只占用開發(fā)者機器的 CPU 時間。

我們假設(shè)同樣代碼量的程序,需要同樣多的 CPU 時間,進行從代碼到最終能跑的“轉(zhuǎn)換”。那么把這種工作全部放在了開發(fā)者的機器上進行的 iOS 顯然就更具優(yōu)勢,因為用戶在打開 APP 之前不需要再浪費時間進行“轉(zhuǎn)換”,這部分時間由開發(fā)者“忍受”了。而 Android 程序啟動相對較慢就是因為第二次“轉(zhuǎn)化”需要在打開程序時進行引起的。這兩種機制是歷史的產(chǎn)物,總體上不能說誰好誰壞,只有適用范圍的問題??紤]到手機屬 于體驗要求比較高的設(shè)備,顯然 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ù)我查到的資料,這個變化對小程序幾乎可以忽略不計,受影響的應(yīng)該是以游戲為主的程 序,因為他們本身代碼量就更大。不過這跟你獲得的收益也是成正比的,因為 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ā)者預(yù)覽”的形式將其呈現(xiàn)出來,目的就是讓手機廠商、應(yīng)用開發(fā)者等進行測試,從而幫助該項目進行改進。從我得到的信息來看,ART 的穩(wěn)定性并不差,完全可以勝任日常使用。

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

責(zé)任編輯:閆佳明 來源: bbs.uc
相關(guān)推薦

2013-11-28 15:03:56

Android4.4ART模式省電原理

2015-07-08 11:22:16

程序員炒股

2014-04-20 23:53:57

外包IT編程

2013-11-28 15:25:37

Android4.4ART模式蘋果

2013-11-18 09:36:51

Android4.4KitkatART

2015-07-13 10:34:52

OpenStackOpenStack五年開源云計算

2013-11-28 13:53:08

Android4.4ART運行模式

2013-11-28 13:47:37

Android4.4ART模式

2014-06-09 10:51:59

2019-06-26 08:20:19

JavaScriptWeb開發(fā)

2013-01-04 09:50:35

程序員騰訊屌絲

2013-05-27 10:21:19

2013-10-16 09:58:52

Nexus 5Android4.4

2013-11-12 15:03:49

2013-03-08 10:39:23

2014-08-14 11:18:22

程序員

2013-11-12 09:48:57

傲游云瀏覽器

2020-03-17 07:41:50

ApacheKafka系統(tǒng)

2019-03-20 15:30:37

PNG圖片壓縮前端

2016-05-10 16:37:15

開發(fā)運維DevOps新趨勢
點贊
收藏

51CTO技術(shù)棧公眾號