自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android4.4 ART模式簡(jiǎn)單科普,屌絲的逆襲

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

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

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

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

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

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

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

我們假設(shè)同樣代碼量的程序,需要同樣多的 CPU 時(shí)間,進(jìn)行從代碼到最終能跑的“轉(zhuǎn)換”。那么把這種工作全部放在了開發(fā)者的機(jī)器上進(jìn)行的 iOS 顯然就更具優(yōu)勢(shì),因?yàn)橛脩粼诖蜷_ APP 之前不需要再浪費(fèi)時(shí)間進(jìn)行“轉(zhuǎn)換”,這部分時(shí)間由開發(fā)者“忍受”了。而 Android 程序啟動(dòng)相對(duì)較慢就是因?yàn)榈诙?ldquo;轉(zhuǎn)化”需要在打開程序時(shí)進(jìn)行引起的。這兩種機(jī)制是歷史的產(chǎn)物,總體上不能說誰(shuí)好誰(shuí)壞,只有適用范圍的問題??紤]到手機(jī)屬 于體驗(yàn)要求比較高的設(shè)備,顯然 iOS 這種機(jī)制更合適。所以這兩種機(jī)制帶來的后果就是,iOS 總是比 Android 快,而且是天生的。

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

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

當(dāng)然,ART 也會(huì)帶來其他的負(fù)面影響。其一是增加程序安裝所需的時(shí)間,只是目前還不知道具體會(huì)是多少??紤]到其他技術(shù)因素,這個(gè)時(shí)長(zhǎng)的增加可能比我為了講解方便所舉的 “第二次轉(zhuǎn)換”所需的時(shí)長(zhǎng)要長(zhǎng)一點(diǎn),但是肯定不會(huì)長(zhǎng)到無(wú)法忍受的地步。據(jù)我查到的資料,這個(gè)變化對(duì)小程序幾乎可以忽略不計(jì),受影響的應(yīng)該是以游戲?yàn)橹鞯某?序,因?yàn)樗麄儽旧泶a量就更大。不過這跟你獲得的收益也是成正比的,因?yàn)?ART 可以讓你在打開游戲時(shí)省更多的時(shí)間。如果將來都是“后臺(tái)安裝”的話,對(duì)用戶體驗(yàn)更是微乎其微,你去看幾個(gè)新聞這時(shí)間就過去了。

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

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

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

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

2013-11-28 15:03:56

Android4.4ART模式省電原理

2015-07-08 11:22:16

程序員炒股

2013-11-28 15:25:37

Android4.4ART模式蘋果

2014-04-20 23:53:57

外包IT編程

2013-11-18 09:36:51

Android4.4KitkatART

2015-07-13 10:34:52

OpenStackOpenStack五年開源云計(jì)算

2013-11-28 13:53:08

Android4.4ART運(yùn)行模式

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

程序員

2020-03-17 07:41:50

ApacheKafka系統(tǒng)

2019-03-20 15:30:37

PNG圖片壓縮前端

2024-03-06 13:21:20

英偉達(dá)處理器AI

2013-07-18 09:34:37

Android開發(fā)者
點(diǎn)贊
收藏

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