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

Android下一代操作系統(tǒng)“L”更快更安全

安全 終端安全
剛剛結(jié)束的 Google I/O大會(huì)上,Android下一代操作系統(tǒng)“ L”帶來(lái)不少驚喜。新系統(tǒng)運(yùn)行更快、更省電。

剛剛結(jié)束的 Google I/O大會(huì)上,Android下一代操作系統(tǒng)“ L”帶來(lái)不少驚喜。新系統(tǒng)運(yùn)行更快、更省電。

然而開(kāi)發(fā)者對(duì)這個(gè)新系統(tǒng)也有頗多疑問(wèn),比如新的運(yùn)行模式ART對(duì)開(kāi)發(fā)者意味著什么?ART模式能否讓?xiě)?yīng)用的體驗(yàn)超越蘋(píng)果?360***技術(shù)專(zhuān)家任寰認(rèn)為在ART運(yùn)行方式下“L”的性能提升在15%到80%之間。同時(shí),ART優(yōu)化了垃圾回收方式,執(zhí)行效率比現(xiàn)行的Dalvik提高50%以上,減少了執(zhí)行垃圾回收時(shí)對(duì)應(yīng)用帶來(lái)的卡頓,使應(yīng)用運(yùn)行更流暢。

 

 

Android L 運(yùn)行界面

而在安全性方面,ART和Dalvik相比,安全模型和基本機(jī)制沒(méi)有變化。但ART有一些細(xì)節(jié)改進(jìn),對(duì)安全有幫助。比如,安裝時(shí)對(duì)dex文件做了更嚴(yán)格的驗(yàn)證。

以下匯集整理了360論壇上開(kāi)發(fā)者提問(wèn)最多的6個(gè)問(wèn)題,360***技術(shù)專(zhuān)家任寰做了解答,希望可以幫助開(kāi)發(fā)者更好地認(rèn)識(shí)這個(gè)全新的系統(tǒng)。

問(wèn)題1. 為什么ART能提高性能?

答:主要來(lái)自?xún)煞矫妗?/p>

一,預(yù)先(Ahead-of-time)編譯。Android應(yīng)用開(kāi)發(fā)時(shí),生成的Dex文件包含Java的Byte Code。在Android L以前,默認(rèn)用Dalvik虛擬機(jī)。應(yīng)用運(yùn)行時(shí),Dalvik對(duì)Java Byte Code進(jìn)行解釋執(zhí)行,或進(jìn)行Junt-In-Time的編譯。在Android L里,應(yīng)用安裝時(shí),用系統(tǒng)工具dex2oat將安裝包中的Dex文件編譯為ELF格式的執(zhí)行文件(.oat文件)。應(yīng)用運(yùn)行時(shí)直接執(zhí)行二進(jìn)制指令。

二,優(yōu)化垃圾回收(garbage collection)。垃圾回收主要有兩種:(1)gc_concurrent。執(zhí)行時(shí),Dalvik會(huì)在本次gc的開(kāi)始和結(jié)束時(shí)會(huì)短時(shí)間暫停代碼的執(zhí)行。(2)gc_for_alloc。執(zhí)行時(shí),會(huì)較長(zhǎng)時(shí)間中斷Java代碼的運(yùn)行。在ART里,執(zhí)行g(shù)c_concurrent時(shí),只會(huì)暫停代碼一次。執(zhí)行g(shù)c_for_alloc時(shí),中斷Java代碼運(yùn)行的時(shí)間大大縮小了??傮w上講,ART里垃圾回收占用的開(kāi)銷(xiāo)比Dalvik少50%以上。減少了垃圾回收時(shí)對(duì)應(yīng)用帶來(lái)的卡頓,使應(yīng)用運(yùn)行更流暢。

問(wèn)題2. 對(duì)應(yīng)用開(kāi)發(fā)者來(lái)說(shuō),需要做什么適配工作以支持ART。比如重新編譯,打包?

答:對(duì)絕大多數(shù)開(kāi)發(fā)者來(lái)說(shuō),不需要。不論虛擬機(jī)是Dalvik還是ART,安裝包里所包含的仍然是Dex文件。由Dex文件編譯為二進(jìn)制文件的工作是在應(yīng)用安裝時(shí),由裝在設(shè)備上的系統(tǒng)工具dex2oat完成的。

問(wèn)題3. Android的應(yīng)用在ART里運(yùn)行后,開(kāi)發(fā)者還能在Java層面進(jìn)行調(diào)試嗎?

答:可以。事實(shí)上,應(yīng)用安裝后,編譯生成的.oat文件中,包含了原始的Dex文件。保留Dex文件有兩個(gè)原因:一,需要Dex里的關(guān)于類(lèi)的信息,以支持Java反射等操作。二,調(diào)試時(shí),要用Dex里的調(diào)試信息。正由于這個(gè)原因,編譯生成的.oat文件,大小是原始的Dex文件的兩倍以上。

問(wèn)題4. 用ART后,性能最終能提高多少?

答:取決于具體的應(yīng)用。在Google I/O上,Google給的例子是提升兩倍以上。

ART我們實(shí)際測(cè)試下來(lái),性能提升在15%到80%之間。對(duì)于大量使用CPU的應(yīng)用,性能提升比較明顯。但如果應(yīng)用程序的時(shí)間主要花在調(diào)用系統(tǒng)API,提升會(huì)小一些。因?yàn)楹芏嘞到y(tǒng)API的代碼主要在底層的.so里面。

問(wèn)題5. ART在安全性上有沒(méi)有提升?

答:ART和Dalvik相比,安全模型和基本機(jī)制沒(méi)有變化。但ART有一些細(xì)節(jié)改進(jìn),對(duì)安全有幫助。比如:一,安裝時(shí)對(duì)dex文件做了更嚴(yán)格的驗(yàn)證。二,糾正了Dalvik長(zhǎng)期存在的一個(gè)對(duì)象模型的問(wèn)題:一個(gè)類(lèi)里的方法,如果沒(méi)有加訪問(wèn)限制(即沒(méi)有用Public,Private,Protected描述),Java規(guī)定是package-private方法,不在同一package的子類(lèi)不能訪問(wèn)和重載。而Dalvik一直允許子類(lèi)重載package-private的方法。ART里做了修改,行為與Java標(biāo)準(zhǔn)一致。

問(wèn)題6. Android L使用ART后,有什么要引起注意的地方?

答: 一,因?yàn)榘惭b時(shí)進(jìn)行了預(yù)先編譯。應(yīng)用安裝的時(shí)間變長(zhǎng),安裝后生成的文件變大。

二,如果以DexClassLoader的形式加載代碼,***次執(zhí)行時(shí)間也會(huì)變長(zhǎng)。

三,對(duì)應(yīng)用***進(jìn)行兼容性測(cè)試。大多數(shù)應(yīng)用無(wú)需修改,但如果應(yīng)用程序本身對(duì)Dex文件做了處理,比如進(jìn)行了加殼,可能有兼容性問(wèn)題。

總體來(lái)說(shuō),Android L十分值得我們期待,今年秋天Google將推出正式版本,不過(guò)鑒于目前Android系統(tǒng)碎片化的現(xiàn)狀,當(dāng)前大部分手機(jī)無(wú)法升級(jí),只能購(gòu)買(mǎi)新款手機(jī)。

責(zé)任編輯:王林 來(lái)源: 創(chuàng)業(yè)邦
相關(guān)推薦

2014-07-01 13:54:11

ThresholdWindows 9

2010-12-08 09:27:02

2013-07-27 21:28:44

2012-11-29 09:59:54

Windows Blu操作系統(tǒng)

2015-10-15 10:30:32

2016-01-26 11:58:12

2009-03-22 10:11:45

Iphone蘋(píng)果高速互聯(lián)網(wǎng)

2013-09-09 16:28:36

2014-05-09 13:18:54

iOS移動(dòng)互聯(lián)網(wǎng)

2013-05-22 11:48:46

2013-06-27 11:21:17

2015-11-09 10:42:07

2011-01-27 09:52:43

StuxnetZeus軟件攻擊

2013-04-25 13:21:30

2014-07-02 10:01:46

CentOS 7

2021-03-03 13:03:43

微軟WindowsWindows 10

2010-06-11 09:46:03

下一代服務(wù)器操作系統(tǒng)

2011-03-03 11:35:10

2013-07-25 21:08:37

2020-09-27 17:27:58

邊緣計(jì)算云計(jì)算技術(shù)
點(diǎn)贊
收藏

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