Dalvik和ART的區別
什麼是Dalvik:
Dalvik是Google公司自己設計用於Android平臺的Java虛擬機器。Dalvik虛擬機器是Google等廠商合作開發的Android移動裝置平臺的核心組成部分之一。它可以支援已轉換為 .dex(即Dalvik Executable)格式的Java應用程式的執行,.dex格式是專為Dalvik設計的一種壓縮格式,適合記憶體和處理器速度有限的系統。Dalvik 經過優化,允許在有限的記憶體中同時執行多個虛擬機器的例項,並且每一個Dalvik 應用作為一個獨立的Linux 程式執行。獨立的程式可以防止在虛擬機器崩潰的時候所有程式都被關閉。
什麼是ART:
Android作業系統已經成熟,Google的Android團隊開始將注意力轉向一些底層元件,其中之一是負責應用程式執行的Dalvik執行時。Google開發者已經花了兩年時間開發更快執行效率更高更省電的替代ART執行時。 ART代表Android Runtime,其處理應用程式執行的方式完全不同於Dalvik,Dalvik是依靠一個Just-In-Time (JIT)編譯器去解釋位元組碼。開發者編譯後的應用程式碼需要通過一個直譯器在使用者的裝置上執行,這一機制並不高效,但讓應用能更容易在不同硬體和架構上運
行。ART則完全改變了這套做法,在應用安裝時就預編譯位元組碼到機器語言,這一機制叫Ahead-Of-Time (AOT)編譯。在移除解釋程式碼這一過程後,應用程式執行將更有效率,啟動更快。
ART優點:
1、系統效能的顯著提升。
2、應用啟動更快、執行更快、體驗更流暢、觸感反饋更及時。
3、更長的電池續航能力。
4、支援更低的硬體。
ART缺點:
1、更大的儲存空間佔用,可能會增加10%-20%。
2、更長的應用安裝時間。
相關文章
- Jvm、Dalvik和Art的區別JVM
- Dalvik和ART執行時環境的區別
- Android 中的Dalvik和ART是什麼,有啥區別?Android
- Dalvik 和 ART 有什麼區別?深扒 Android 虛擬機器發展史,真相卻出乎意料!Android虛擬機
- 一篇文章告訴你Dalvik 和JVM的區別JVM
- Android SDK各個版本API的特性及相容性(Dalvik/ART)AndroidAPI
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- ../和./和/的區別
- limo和Dalvik VM的一個思路
- 和 的區別
- as 和 with的區別
- ||和??的區別
- /*和/**的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- Dalvik 和 Java 位元組碼的比較Java
- ./ 和sh 的區別
- JQuery this和$(this)的區別jQuery
- jquery $(this) 和this的區別jQuery
- T和?的區別
- ++a和a++的區別
- makefile =和:=的區別
- Mybatis中#{}和${}傳參的區別及#和$的區別小結MyBatis
- 和區別
- MYSQL和SQL的區別MySql
- varchar和char的區別
- &self 和 self 的區別
- var和public的區別
- filter和interceptor的區別Filter
- useEffect 和 useLayoutEffect 的區別
- SDK和API的區別?API
- var 和 let 的區別
- WebApi和MVC的區別WebAPIMVC
- service和systemctl的區別
- GET和POST的區別?
- GET和POST的區別
- button和submit的區別MIT
- GET 和 POST 的區別