Dalvik虛擬機工做原理介紹

Dalvik虛擬機並無使用目前流行的虛擬機技術,如JIT,可是根據Google的報告,這個功能的缺失並無令Dalvik虛擬機在性能上有所損失。咱們也同時相信,Dalvik虛擬機的性能還有進一步提升的空間。工具

根據 Google的測算,64M的RAM已經可以令系統正常運轉了。其中24M被用於底層系統的初始化和啓動,另外20M被用於高層啓動高層服務。固然,隨着系統服務的增多和應用功能的擴展,其所消耗的內存也勢必愈來愈大,概括起來,Dalvik虛擬機有以下幾個主要特徵:性能

DEX是Dalvik虛擬機專用的文件格式,而爲何棄用已有的字節碼文件(CLASS文件)而採用新的格式呢? 一個應用中會定義不少類。編譯完成後即會有不少相應的CLASS文件,CLASS文件間會有很多冗餘的信息;進程

而DEX文件格式會把全部的CLASS文件內容整合到一個文件中。這樣,除了減小總體的文件尺寸,I/O操做,也提升了類的查找速度。 原來每一個類文件中的常量池,在DEX文件中由一個常量池來管理,具體方式以下圖:內存

增長了新的操做碼的支持文件結構儘可能簡潔,使用等長的指令,藉以提升解析速度 儘可能擴大隻讀結構的大小,藉以提升跨進程的數據共享如何生成DEX文件呢?Android系統和Dalvik虛擬機提供了工具(DX),在把Java源代碼編譯成CLASS文件後,使用DX工具。虛擬機

相關文章
相關標籤/搜索