當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]也許人們?cè)诘弥狦oogle新發(fā)布的Android系統(tǒng)版本名稱(chēng)為4.4時(shí)都不以為然,認(rèn)為這個(gè)升級(jí)十分微不足道,只有0.1而已。就是安卓官方,對(duì)待此次升級(jí)也是頗為低調(diào)??墒侨绻私饬?

也許人們?cè)诘弥狦oogle新發(fā)布的Android系統(tǒng)版本名稱(chēng)為4.4時(shí)都不以為然,認(rèn)為這個(gè)升級(jí)十分微不足道,只有0.1而已。就是安卓官方,對(duì)待此次升級(jí)也是頗為低調(diào)。

可是如果了解了4.4所暗示的變化時(shí),所有Android開(kāi)發(fā)者和其他利益相關(guān)者都必須打起十二分精神對(duì)看待4.4了。因?yàn)檫@次升級(jí)可能是Android在用戶(hù)體驗(yàn)上大進(jìn)步的前奏。還有那些總是嘲笑Android機(jī)器運(yùn)行緩慢的iOS開(kāi)發(fā)者和其用戶(hù)也同樣需要重新審視自己的行為了。因?yàn)檫@種嘲笑在不久的將來(lái)可能會(huì)失去其根基。不僅僅是直觀體驗(yàn)上的,更是底層技術(shù)上的。

首先說(shuō)一下,我也是一個(gè)Android開(kāi)發(fā)者,目前還在美國(guó)上學(xué),所以能夠接觸到一些一手資料,在國(guó)內(nèi)搜了搜,幾乎沒(méi)有什么相關(guān)文章,所以在這里跟大家進(jìn)行分享一下我的“發(fā)現(xiàn)”。

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

后來(lái)為了進(jìn)行開(kāi)發(fā)測(cè)試,我打開(kāi)了“開(kāi)發(fā)者模式”,其中有一個(gè)選項(xiàng)引起了我的注意,叫“選擇運(yùn)行時(shí)環(huán)境”??蛇x項(xiàng)有Dalvik和ART,默認(rèn)是Dalvik,即Android一直以來(lái)使用的運(yùn)行方式。這是之前版本都沒(méi)有的選項(xiàng)。為了弄明白這到底是個(gè)什么東西,我試著在Google上搜了一下,這一搜不要緊,直接改變了我對(duì)4.4版本存在意義的看法。僅僅因?yàn)檫@一個(gè)變化,4.4完全可以看做是5.0的前奏,或者說(shuō)是試水版本。而且預(yù)示著5.0版可能會(huì)帶來(lái)重大改變,一個(gè)可以讓蘋(píng)果面臨變成下一個(gè)諾基亞、黑莓風(fēng)險(xiǎn)的改變。當(dāng)然,我這話(huà)說(shuō)的有點(diǎn)過(guò),但是這個(gè)改變的重要性真的怎么說(shuō)都不為過(guò)。

下面我就詳細(xì)介紹一下這個(gè)變化到底是什么,這些內(nèi)容可能對(duì)沒(méi)有編程背景的人無(wú)法馬上理解,但是我會(huì)盡量說(shuō)的通俗一點(diǎn)。簡(jiǎn)單地說(shuō),就是Android程序運(yùn)行的根本機(jī)制改變了,程序會(huì)啟動(dòng)地更快,而且會(huì)更省資源。表現(xiàn)在用戶(hù)體驗(yàn)上,就是Android更流暢了,同時(shí)續(xù)航能力顯著增加。而且這種變化不是小打小鬧,而是非??捎^的!根據(jù)AndroidPolicy上專(zhuān)項(xiàng)文章(http://www.Androidpolice.com/201 ... s-debuts-in-kitkat/)的說(shuō)法,這個(gè)改變可以讓部分Android程序的啟動(dòng)加速50%,理論上待機(jī)時(shí)間也會(huì)顯著增加。根據(jù)該文后一些“小白鼠”們的評(píng)論,他們?cè)谠囉昧薃RT運(yùn)行模式后都體會(huì)到了其帶來(lái)的速度提升和續(xù)航提升,而且效果非常明顯。這說(shuō)明這個(gè)尚處在實(shí)驗(yàn)階段的ART模式已經(jīng)能夠帶來(lái)明顯的好處,唯一不足的是,作為beta版,穩(wěn)定性欠佳。

如果你想知道其原理是什么,請(qǐng)接著往下看,我會(huì)解釋的很“大眾化”。Android是基于Java語(yǔ)言的,iOS是基于Obejctive-C的。很專(zhuān)業(yè)是嗎?不要緊,你不需要懂它們有什么區(qū)別、孰優(yōu)孰劣??炊旅娴木托?前者,即Java的代碼實(shí)際上需要兩次“轉(zhuǎn)換”才能最終以用戶(hù)可看的程序跑起來(lái),一次發(fā)生在開(kāi)發(fā)者發(fā)布安裝包前,使用開(kāi)發(fā)者自己機(jī)器的CPU,另一次在用戶(hù)啟動(dòng)APP前,使用手機(jī)的CPU。而后者,即Objective-C的代碼只需要一次這種“轉(zhuǎn)換”---在開(kāi)發(fā)者發(fā)布安裝包前,所以只占用開(kāi)發(fā)者機(jī)器的CPU時(shí)間。如果我們假設(shè)同樣代碼量的程序需要同樣多的CPU時(shí)間進(jìn)行從代碼到最終能跑的“轉(zhuǎn)換”。那么把這種工作全部放在了開(kāi)發(fā)者的機(jī)器上進(jìn)行的iOS顯然就更具優(yōu)勢(shì),因?yàn)橛脩?hù)在打開(kāi)APP之前不需要再浪費(fèi)時(shí)間進(jìn)行“轉(zhuǎn)換”,這部分時(shí)間由開(kāi)發(fā)者“忍受”了。而安卓程序啟動(dòng)相對(duì)較慢就是因?yàn)榈诙?ldquo;轉(zhuǎn)化”需要在打開(kāi)程序時(shí)進(jìn)行引起的。這兩種機(jī)制是歷史的產(chǎn)物,總體上不能說(shuō)誰(shuí)好誰(shuí)壞,只有適用范圍的問(wèn)題。考慮到手機(jī)屬于體驗(yàn)要求比較高的設(shè)備,顯然iOS這種機(jī)制更合適。但是在企業(yè)環(huán)境下,兩次“轉(zhuǎn)換”式的解決方案有很多其他的優(yōu)勢(shì),這里就沒(méi)必要展開(kāi)說(shuō)了,因?yàn)榕c話(huà)題無(wú)關(guān)。所以這兩種機(jī)制帶來(lái)的后果就是,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ì)明顯快起來(lái)。按我的淺薄理解,就是把以前每次啟動(dòng)程序都要做的工作改成“一次性”的工作,放在用戶(hù)不那么在乎的安裝時(shí)完成。這從長(zhǎng)期來(lái)看也降低了總體的“轉(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ì)帶來(lái)其他的負(fù)面影響。其一是增加程序安裝所需的時(shí)間,這一點(diǎn)在上文中已經(jīng)提到了原因,目前還不知道具體會(huì)是多少。考慮到其他技術(shù)因素,這個(gè)時(shí)長(zhǎng)的增加可能比我為了講解方便所舉的“第二次轉(zhuǎn)換”所需的時(shí)長(zhǎng)要長(zhǎng)一點(diǎn),但是肯定不會(huì)長(zhǎng)到無(wú)法忍受的地步。我查到的資料顯示,這個(gè)變化對(duì)小程序幾乎可以忽略不計(jì),受影響的應(yīng)該是以游戲?yàn)橹鞯某绦?,因?yàn)樗麄儽旧泶a量就更大。不過(guò)這跟你獲得的收益也是成正比的,因?yàn)锳RT可以讓你在打開(kāi)游戲時(shí)省更多的時(shí)間。如果將來(lái)都是“后臺(tái)安裝”的話(huà),對(duì)用戶(hù)體驗(yàn)更是微乎其微,你去看幾個(gè)新聞這時(shí)間就過(guò)去了。第二個(gè)缺點(diǎn)是會(huì)使安裝后的文件占用更多的空間,據(jù)稱(chēng)是10%-20%的增長(zhǎng)。不過(guò)不要怕,這個(gè)增長(zhǎng)指的是對(duì)“代碼”部分文件的增加。比如一個(gè)100M的游戲,可能代碼只有20M,剩下80M是圖片和音樂(lè)等文件。所以即便增加20%的安裝所需空間,也只不過(guò)多了4M而已。跟你獲得的好處相比微不足道。更何況是在單位存儲(chǔ)空間價(jià)格極速下跌的21世紀(jì)?

最后,據(jù)我了解,ART這個(gè)項(xiàng)目其實(shí)在2年前就已經(jīng)開(kāi)始了,只不過(guò)之前一直不受關(guān)注,只有零星的報(bào)道,畢竟那時(shí)候只是個(gè)“夢(mèng)想”而已??墒乾F(xiàn)在,4.4版本以“開(kāi)發(fā)者預(yù)覽”的形式將其呈現(xiàn)出來(lái),目的就是讓手機(jī)廠(chǎng)商、應(yīng)用開(kāi)發(fā)者等進(jìn)行測(cè)試,從而幫助該項(xiàng)目進(jìn)行改進(jìn)。從我得到的信息來(lái)看,ART的穩(wěn)定性并不差,完全可以勝任日常使用。這也是為什么我會(huì)說(shuō),4.4的ART選項(xiàng)可能預(yù)示著5.0系統(tǒng)會(huì)出現(xiàn)重大改變---徹底從Dalvik轉(zhuǎn)換到ART。其實(shí)從實(shí)際情況分析,這樣的轉(zhuǎn)換也是合情合理的。Java需要虛擬機(jī)進(jìn)行“二次轉(zhuǎn)換”才能跑是因?yàn)橐獙?shí)現(xiàn)跨平臺(tái)??墒菍?duì)Android來(lái)說(shuō),從某種意義上已經(jīng)是單一平臺(tái)的設(shè)備了,再使用兩次“轉(zhuǎn)換”意義不大。為了提升運(yùn)行效率,重新設(shè)計(jì)運(yùn)行時(shí)方法合情合理,而且沒(méi)有任何副作用。如果真的是這樣的話(huà),iOS開(kāi)發(fā)人員和其用戶(hù)所引以為傲的流暢體驗(yàn)將不再是一個(gè)值得炫耀的東西,因?yàn)檫@種體驗(yàn)將隨著登陸Android平臺(tái)變得“大眾化”。再加上Android市場(chǎng)占有率的巨大優(yōu)勢(shì)、Google Play商店的崛起,iOS設(shè)備還能靠什么支撐自己的高價(jià)策略?Apple身上的光環(huán)已經(jīng)隨喬布斯的離去而開(kāi)始退去,iPhone走下神壇只會(huì)是時(shí)間問(wèn)題。到了那個(gè)時(shí)候,iPhone NC中的C也就只能代表Cheap了。

本人并非計(jì)算機(jī)專(zhuān)業(yè)出身,專(zhuān)業(yè)背景是商科+IT技術(shù)。因此對(duì)技術(shù)的理解可能有偏差,如文中觀點(diǎn)有錯(cuò),歡迎指正。

Android 4.4上的測(cè)試版新虛擬機(jī)ART和老的Delvik之間的實(shí)際差距有多大呢?國(guó)外有網(wǎng)友就發(fā)布了兩個(gè)虛擬機(jī)的簡(jiǎn)單對(duì)比,發(fā)現(xiàn)應(yīng)用啟動(dòng)速度互有勝負(fù),但在應(yīng)用切換方面明顯就是ART更有優(yōu)勢(shì)。

Android 4.4擁有一個(gè)非常重要的隱藏功能,那就是正在測(cè)試當(dāng)中的ART Java虛擬機(jī),Google希望未來(lái)讓它來(lái)替代老的Dalvik,讓Android系統(tǒng)變得更流暢。這一個(gè)新的虛擬機(jī)在業(yè)內(nèi)受到廣泛關(guān)注,那么新虛擬機(jī)的表現(xiàn)又如何呢?近日國(guó)外有網(wǎng)友在Reddit上傳了兩個(gè)視頻,為大家?guī)?lái)了不同虛擬機(jī)在啟動(dòng)和切換應(yīng)用的簡(jiǎn)單對(duì)比。

用于對(duì)比的是兩臺(tái)從系統(tǒng)(ASOP Android 4.4 ROM)到安裝的應(yīng)用都相同的2013版Nexus 7,而運(yùn)行環(huán)境則分別是ART和Dalvik。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉