91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>java源碼下載>

Android運行中DVM和ART表現對比

大小:0.3 MB 人氣: 2017-09-25 需要積分:1

  在了解 Android 運行時之前,我們需要了解什么是運行時環境以及一些基本概念,即 Java 虛擬機(JVM)和 Dalvik 虛擬機(DVM)的功能。

  什么是運行時?

  簡單來說,運行時就是一個供操作系統使用的系統,它負責將你用高級語言(比如 Java)編寫的代碼轉換成 CPU/處理器能夠理解的機器碼。

  運行時由你的程序運行時所執行的指令構成,盡管本質上它們不屬于程序代碼的任何一部分。

  CPU (或者更通用的說法電腦)只能夠理解機器語言(二進制代碼),所以為了使程序能夠在 CPU 上運行,就必須將它們翻譯成機器碼,這一工作由翻譯器完成。

  這里按序列出歷代翻譯器:

  1.匯編

  它直接將匯編語言翻譯成機器碼,所以它的速度非常快。

  2.編譯器

  它將源碼翻譯成匯編語言,然后再用匯編器轉換成機器碼。這種方式編譯過程很慢但是執行速度很快。但是使用編譯器最大的問題是編譯出來的機器碼依賴于特定的平臺。換句話說,在一臺機器上可以運行的代碼在另一臺不同的機器上可能就無法運行。

  3.解釋器

  它在執行程序時才翻譯代碼。由于代碼翻譯是在執行階段才發生,所以執行速度很慢。

  JAVA 代碼是怎么執行的?

  為了使代碼和平臺無關,JAVA開發了 JVM,即 Java 虛擬機。它為每一個平臺開發一個 JVM,也就意味著 JVM 是和平臺相關的。Java 編譯器將 .java 文件轉換成 .class文件,也就是字節碼。最終將字節碼提供給 JVM,由 JVM 將它轉換成機器碼。

  這比解釋器要快但是比 C++ 編譯要慢。

  Android 代碼是怎么執行的?

  在 Android 中,Java 類被轉換成 DEX 字節碼。DEX 字節碼通過 ART 或者 Dalvik runtime 轉換成機器碼。這里 DEX 字節碼和設備架構無關。

  Dalvik 是一個基于 JIT(Just in time)編譯的引擎。使用 Dalvik 存在一些缺點,所以從 Android 4.4(Kitkat)開始引入了 ART 作為運行時,從 Android 5.0(Lollipop)開始 ART 就全面取代了Dalvik。Android 7.0 向 ART 中添加了一個 just-in-time(JIT)編譯器,這樣就可以在應用運行時持續的提高其性能。

  重點:Dalvik 使用 JIT(Just in time)編譯而 ART 使用 AOT(Ahead of time)編譯。

  下圖描述了 Dalvik 虛擬機和 Java 虛擬機之間的差別。

  Android運行中DVM和ART表現對比

  Just In Time (JIT)

  使用 Dalvik JIT 編譯器,每次應用在運行時,它實時的將一部分 Dalvik 字節碼翻譯成機器碼。在程序的執行過程中,更多的代碼被被編譯并緩存。由于 JIT 只翻譯一部分代碼,它消耗的更少的內存,占用的更少的物理存儲空間。

  Ahead Of Time(AOT)

  ART 內置了一個 Ahead-of-Time 編譯器。在應用的安裝期間,他就將 DEX 字節碼翻譯成機器碼并存儲在設備的存儲器上。這個過程只在將應用安裝到設備上時發生。由于不再需要 JIT 編譯,代碼的執行速度要快得多。

  由于 ART 直接運行的是應用的機器碼(native execution),它所占用的 CPU 資源要少于 使用 JIT 編譯的 Dalvik。由于占用較少的 CPU 資源也就消耗更少的電池資源。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 免费日韩一级片 | 淫性视频| 激情福利网站 | 天天躁日日躁成人字幕aⅴ 天天躁夜夜躁 | 五月婷婷色播 | 色婷婷电影 | 91网站网站网站在线 | 奇米影视777狠狠狠888不卡 | yy肉戏多纯黄的小说 | 亚洲资源最新版在线观看 | 国外免费精品视频在线观看 | 婷婷深爱 | 2022国产情侣真实露脸在线 | 中文字幕1页 | 特级免费毛片 | 女人张开腿 让男人桶个爽 免费观看 | 四虎永久在线免费观看 | 狠狠色综合久久久久尤物 | 天天看天天爽天天摸天天添 | 日本s色大片在线观看 | 亚洲国产成人久久精品影视 | 欧美色视频日本片免费高清 | 99久久精品久久久久久婷婷 | 中文字幕在线观看一区二区 | 亚洲一区二区三区在线播放 | 三级网在线 | 中文字幕在线播放不卡 | 国产内地激情精品毛片在线一 | 国产精品人成在线播放新网站 | 久久福利免费视频 | 国产精品嫩草影院一二三区入口 | 亚洲第一中文字幕 | 夜夜操夜夜骑 | 日本bbxx| 国模私拍视频在线 | 免费色黄网站 | 四虎国产精品永久在线播放 | 欧美成年性色mmm | 激情六月天婷婷 | 丁香婷婷啪啪 | 亚洲第一色图 |