成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android L 對(duì)開發(fā)者意味著什么?

移動(dòng)開發(fā) Android
剛剛結(jié)束的 Google I/O 大會(huì)上,Android 下一代操作系統(tǒng)「L」帶來不少驚喜。新系統(tǒng)運(yùn)行更快、更省電。而在安全性方面,ART 和 Dalvik 相比,安全模型和基本機(jī)制沒有變化。但 ART 有一些細(xì)節(jié)改進(jìn),對(duì)安全有幫助。比如,安裝時(shí)對(duì) dex 文件做了更嚴(yán)格的驗(yàn)證。

[[116479]]

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

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

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

圖:Android L 運(yùn)行界面

以下我匯集整理了 360 論壇上開發(fā)者提問最多的 6 個(gè)問題,一并解答,希望可以幫助開發(fā)者更好地認(rèn)識(shí)這個(gè)全新的系統(tǒng)。
問題 1. 為什么 ART 能提高性能?

答:主要來自兩方面。

預(yù)先(Ahead-of-time)編譯。Android 應(yīng)用開發(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)gcconcurrent。執(zhí)行時(shí),Dalvik 會(huì)在本次 gc 的開始和結(jié)束時(shí)會(huì)短時(shí)間暫停代碼的執(zhí)行。(2)gcforalloc。執(zhí)行時(shí),會(huì)較長(zhǎng)時(shí)間中斷 Java 代碼的運(yùn)行。在 ART 里,執(zhí)行 gcconcurrent 時(shí),只會(huì)暫停代碼一次。執(zhí)行 gcforalloc 時(shí),中斷 Java 代碼運(yùn)行的時(shí)間大大縮小了。總體上講,ART 里垃圾回收占用的開銷比 Dalvik 少 50% 以上。減少了垃圾回收時(shí)對(duì)應(yīng)用帶來的卡頓,使應(yīng)用運(yùn)行更流暢。

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

答:對(duì)絕大多數(shù)開發(fā)者來說,不需要。不論虛擬機(jī)是 Dalvik 還是 ART,安裝包里所包含的仍然是 Dex 文件。由 Dex 文件編譯為二進(jìn)制文件的工作是在應(yīng)用安裝時(shí),由裝在設(shè)備上的系統(tǒng)工具 dex2oat 完成的。
問題 3. Android 的應(yīng)用在 ART 里運(yùn)行后,開發(fā)者還能在 Java 層面進(jìn)行調(diào)試嗎?

答:可以。事實(shí)上,應(yīng)用安裝后,編譯生成的.oat 文件中,包含了原始的 Dex 文件。保留 Dex 文件有兩個(gè)原因:

需要 Dex 里的關(guān)于類的信息,以支持 Java 反射等操作。

調(diào)試時(shí),要用 Dex 里的調(diào)試信息。

正由于這個(gè)原因,編譯生成的.oat 文件,大小是原始的 Dex 文件的兩倍以上。
問題 4. 用 ART 后,性能最終能提高多少?

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

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

答:ART 和 Dalvik 相比,安全模型和基本機(jī)制沒有變化。但 ART 有一些細(xì)節(jié)改進(jìn),對(duì)安全有幫助。比如:

安裝時(shí)對(duì) dex 文件做了更嚴(yán)格的驗(yàn)證。

糾正了 Dalvik 長(zhǎng)期存在的一個(gè)對(duì)象模型的問題:一個(gè)類里的方法,如果沒有加訪問限制(即沒有用 Public,Private,Protected 描述),Java 規(guī)定是 package-private 方法,不在同一 package 的子類不能訪問和重載。而 Dalvik 一直允許子類重載 package-private 的方法。ART 里做了修改,行為與 Java 標(biāo)準(zhǔn)一致。

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

答:主要有這么幾個(gè):

因?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)用無需修改,但如果應(yīng)用程序本身對(duì) Dex 文件做了處理,比如進(jìn)行了加殼,可能有兼容性問題。

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

原文地址:

責(zé)任編輯:chenqingxiang 來源: geekpark
相關(guān)推薦

2012-06-29 09:12:47

Windows Pho

2011-04-18 16:52:59

JavaFXJava

2009-04-01 13:56:20

JavaFX開發(fā)JavaFXSwing

2011-06-07 10:44:50

JavaFXJava

2011-07-19 10:11:53

AndroidHTC蘋果

2017-06-06 11:44:45

FuchsiaAndroidGoogle

2014-11-03 14:55:48

AndroidGoogleAndy Rubin

2015-08-24 09:51:04

dtit

2021-04-08 10:17:13

云原生公共云云計(jì)算

2019-04-03 11:05:47

DevOps敏捷開發(fā)開源

2023-09-27 10:54:25

物聯(lián)網(wǎng)傳感器

2014-08-18 10:31:41

游戲設(shè)計(jì)

2013-12-03 09:37:02

工作時(shí)間

2016-02-26 15:50:40

HTTP2

2021-08-05 16:30:58

邊緣物聯(lián)網(wǎng)物聯(lián)網(wǎng)大數(shù)據(jù)

2010-10-26 11:16:55

紅旗云計(jì)算祥云工程

2014-06-19 16:20:19

OpenStackDocker 1.0

2023-01-05 10:16:27

2010-05-04 10:00:27

虛擬化
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产免费拔擦拔擦8x高清 | 日韩欧美高清 | 国产高清精品在线 | 国产不卡视频在线 | 精品久久一区 | wwww.xxxx免费| 一区二区三区视频播放 | 亚洲最色网站 | 免费黄色a级毛片 | 欧美一区二区激情三区 | 一区二区中文 | 中文字幕 欧美 日韩 | 日韩在线精品 | 国产一区二区三区高清 | 色综合久久天天综合网 | xxxxx黄色片| 久久婷婷色 | 久久国产精99精产国高潮 | 国产亚洲日本精品 | 在线午夜 | 日韩中文字幕在线视频观看 | 91久久电影 | 日本涩涩视频 | 中文字幕在线精品 | 久久亚洲欧美日韩精品专区 | 视频1区2区 | 国产在线视频一区 | 亚洲一区 | 精品不卡 | 亚洲日本欧美日韩高观看 | 国产精品一区二区三区久久久 | 国产精品久久久久久久久久久新郎 | 欧美国产在线一区 | 国产精品一区二区久久 | 免费人成激情视频在线观看冫 | 日韩精品一区二区三区在线 | 97成人免费 | 亚洲国产精品成人无久久精品 | 欧美一级久久 | 国产视频一视频二 | 一级片av|