- 전체
- android studio
- Android SDK
- Android NDK
- Android ADK
- Android Etc. Lib.
- Android dalvik VM
- Android 보안
- PhoneGap
- AOSP 개발
- MIT App Inventor 2
- kivy (python)
- ionic framework
- Kotlin (코틀린)
- React Native
Android dalvik VM ART(Android Runtime)
2015.08.05 21:49
ART(Android Runtime)
jvm
(JVM)
- 자바코드 -> 바이트 코드(.class) -------> native
- 스택머신
dalvik( android 4.4.4 이하 버전)
(dex tool) dexopt (JIT)
- 자바코드 -> 바이트코드(.class) --------> 바이트코드 (.dex) -------> .odex -> dalvik ---> native
- 레지스터 머신
- JIT 컴파일
ART( android 4.4.4 이후 버전)
(dex tool) dex2oat
- 자바코드 -> 바이트코드(.class) --------> 바이트코드 (.dex) -------> elf -> art -> native
- dalvik 머신 대체
- AOT(ahead-of-time) 컴파일
- 디바이스에서 dex2oat를 사용해서 한번만 컴파일되고 elf 파일로 실행됨
=> 이렇게 함으로써 JIT 컴파일을 포함한 다양한 오버헤드를 제거하여 실행이 빠르다는 장점
그러나 application이 설치 될 때 컴파일하기 때문에 설치 시간이 증가하고 어플의 크기가 증가함

JIT vs AOT
JIT
- application이 실행되는 동안 컴파일이 필수로 발생, 동적으로 컴파일, 실시간 컴파일 방식
- 자주 실행되는 메소드들은 분석될 수 있고 최적화로 변형되어 더 나은 코드와 더 높은 성능을 만들어냄
- 자주 실행되는 메소드를 규명하고 이러한 메소드를 컴파일하는데 시간이 걸리기 때문에
application은 성능이 피크데 도달하지 못하는 워밍업 기간을 가짐
AOT
- 프로그램이 실행되기 전에 자바 메소드용 네이티브 코드를 생성하여 프로그램이 실행될때 한번 직접 사용될수 있도록 함.
- 동적 클래스 로딩에서 클래스는 실행코드가 그 클래스를 참조하기 전까지는 로딩될 수 없음
추가 자료 정보 링크
http://www.ibm.com/developerworks/library/j-rtj2/
[출처] http://flslg.tistory.com/242
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 12 |
App Inventor - MySQL interface 앱 인벤터 mysql 연결
| 졸리운_곰 | 2018.04.07 | 7999 |
| 11 |
Connect App Inventor to MySQL Database 앱 인벤터와 mysql 데이터베이스 연결
| 졸리운_곰 | 2018.04.07 | 7273 |
| 10 |
Create an API (PHP) 앱 인벤터와 php 통합
| 졸리운_곰 | 2018.04.07 | 630 |
| 9 |
Using the WebViewer Control in App Inventor 앱인터에서 웹뷰 컨트롤 사용
| 졸리운_곰 | 2018.03.24 | 512 |
| 8 |
WebView Javascript Processor for App Inventor 앱 인벤터 웹뷰 자바스크립트 인터페이스
| 졸리운_곰 | 2018.03.24 | 505 |
| 7 |
Creating a digital wallet application in App Inventor 2
| 졸리운_곰 | 2017.05.01 | 287 |
| 6 | Creating a Custom TinyWebDB Service | 졸리운_곰 | 2016.05.18 | 201 |
| 5 |
TinyDB is a lightweight document oriented database
| 졸리운_곰 | 2016.05.16 | 270 |
| 4 |
구글 앱엔진에 의한 소형웹데이터베이스의 접속방법 tinywebdb
| 졸리운_곰 | 2016.05.15 | 547 |
| 3 |
App inventor 멀티스크린, 스크린 이동, 다중화면,
| 졸리운_곰 | 2016.02.17 | 779 |
| 2 |
Communicating with Web APIs
| 졸리운_곰 | 2016.02.17 | 1080 |
| 1 |
JSON data on the Android mobile with App Inventor 2
| 졸리운_곰 | 2016.02.17 | 364 |

