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

Android 4.4 ART運行模式與開啟方法

移動開發 Android
是不是谷歌在做嘗試,今后在Android系統上運行程序不是在Dalvik虛擬機中,而是真正以原生指令方式執行?如果真是這樣,哪怕代碼執行效率稍低,聯想起目前Android平臺設備的配置遠遠強于Iphone的配置,那么是不是Android的運行流暢性趕超Iphone指日可待了?

安卓4.4art運行模式是什么意思?怎么打安卓4.4art開啟方法?

在安卓4.4中進到開發者模式里會發現多了一項“選擇運行環境”,里面有兩個選項:Dalvik和ART。

Dalvik是之前Android系統使用的Java虛擬機,那么ART是什么呢?

ART是一個AOT編譯器。所謂AOT (Ahead of Time)是指在運行以前就把中間代碼靜態編譯成本地代碼,而JIT (Just inTime)則是在運行時動態編譯。

AOT和JIT比各有長處,這里不詳細展開,只簡單列舉幾個最主要的:

AOT的主要編譯過程發生于開發用機,因此編譯得慢一點沒關系,可以充分的做各種耗時的優化;JIT在運行時動態編譯,通常不能做太耗時的優化,否則影響啟動和運行速度

更具體一點,以Sun的JVM為例,JIT大體上劃分為client和server兩種模式。Client模式下VM是一邊解釋執行,一邊識別熱點 區域進行JIT編譯,以免明顯影響啟動速度;考慮到內存占用,也不會把所有Java字節碼都編譯成本地代碼。Server模式下則會進行全面的JIT編 譯,因為server啟動慢一點沒關系,一旦跑起來就會運行很長時間,所以花一點點時間全面優化是值得的。

因為受優化程度限制,JIT編譯出來的本地代碼體積通常比較大,5到10倍于bytecode都是正常的。AOT編譯出來的本地代碼體積更小。Android的JIT code cache也是內存占用的重要角色。

因為是預編譯好的機器代碼,AOT產生的代碼和加載執行過程和普通的本地代碼沒有太大分別。不過仍然需要運行時的GC支持。

雖然AOT可以有更多的時間和空間做編譯優化,但并不等于性能上就一定勝過JIT。JVM有不少東西只能在運行時動態決定是否可以采用編譯優化(如 識別可以inline的虛方法),以及運行時動態反優化(例如inline了一個虛方法,后來發現遇到新的派生類的實例,就需要取消原來的 inline)。這些事情AOT就不容易做到。

AOT的編譯器一般會分兩個版本,一個在開發機上編譯整個系統和預裝應用,另一個是一個精簡版,在設備上運行,負責編譯連接新安裝的應用。

AOT編譯出來的代碼仍然需要運行時的支持,特別是GC。

如果ART確實是用AOT compiler替換JIT,性能先不談,Android的內存占用應該會因此獲益。現在dex代碼經過 dex => optimized dex => JIT cache這個過程,內存中需要同時容納odex和JIT cache兩份代碼;換成ART以后,就變成dex => oat,內存里只放oat就可以。不過考慮到ART的解釋器代碼里有提到deoptimization,也有可能在特定情況下還需要load dex代碼解釋執行。重要的是oat應該是可以直接mmap執行的代碼(其實就是一個真·ELF格式的文件),加載/換頁重加載的速度都會比從odex動 態編譯來得快。

簡單的說就是以更高的執行效率來運行軟件art應該利用了LLVM

性能就提升了,另一方面預載的私有軟件也可以憑此做好保密工作,留在機器上的程序本體是機器碼了,沒有deoat了。

其實Google也在Chrome做了類似的事情。

目前的Chrome支持pNACL,也是一種以(LLVM)字節碼發布,到本地再編譯的模式。如此能獲得接近那些直接被編譯為原生代碼的軟件的性能。

Mozilla給出的替代品是asm.js,則是用javascript引擎執行C++本機代碼。

總結:那么,是不是谷歌在做嘗試,今后在Android系統上運行程序不是在Dalvik虛擬機中,而是真正以原生指令方式執行?如果真是這樣,哪怕代碼執行效率稍低,聯想起目前Android平臺設備的配置遠遠強于Iphone的配置,那么是不是Android的運行流暢性趕超Iphone指日可待了?

責任編輯:閆佳明 來源: 77l
相關推薦

2013-11-28 13:47:37

Android4.4ART模式

2013-11-28 15:03:56

Android4.4ART模式省電原理

2013-11-28 14:01:55

Android4.4ART模式

2013-11-28 15:25:37

Android4.4ART模式蘋果

2013-11-26 16:49:55

Android開發運行時KitKat

2013-11-18 09:36:51

Android4.4KitkatART

2013-11-11 15:31:32

虛擬機Android Run

2014-07-16 15:49:13

AndroidOpenGL 4.4

2013-11-08 11:18:44

GoogleARTDalvik

2013-10-29 16:50:50

Android 4.4特性

2013-11-28 14:25:00

Android4.4ART模式實測數據

2013-11-26 17:15:13

Android設計模式

2013-11-04 17:28:44

Android

2013-09-04 10:15:22

Android開發

2013-09-22 15:51:32

Android 4.4

2013-12-02 10:33:36

Android 4.4Nexus One

2013-11-26 16:29:22

Android設計模式

2013-09-25 10:52:27

Android 4.4扁平化

2013-11-26 13:47:31

GoogleAndroid 4.4

2013-10-29 16:36:22

Android 4.4功能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美黄色网 | 国产精品欧美一区二区三区 | 中文久久 | 色成人免费网站 | 欧美精品在线播放 | 国产一区二区a | 久久91精品 | 久久精品国产a三级三级三级 | 先锋资源亚洲 | www.一区二区三区.com | 国产精品久久久久久久久久久久 | 国产精品资源在线 | 亚洲欧美激情国产综合久久久 | 精品国产一区二区三区性色av | 亚洲自拍偷拍欧美 | 久久精品成人 | 国产视频精品免费 | 亚洲三级免费看 | 国产99久久精品一区二区永久免费 | 日本一道本 | 欧美高清一区 | 久久久精品一区二区三区 | 一区二区三区亚洲 | 日韩免费高清视频 | 日日摸日日添日日躁av | 日日草夜夜草 | 精品久久精品 | 成人精品一区亚洲午夜久久久 | 精品国产免费一区二区三区五区 | 国产欧美久久精品 | 精品久久久久久亚洲精品 | 久久国产综合 | 国产精品久久国产精品 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 少妇性l交大片免费一 | 亚洲天堂网站 | 欧美午夜精品 | 亚洲中午字幕 | 亚洲精品久久嫩草网站秘色 | 成年人国产在线观看 | 欧美精品中文字幕久久二区 |