* Compile 과정
> Source Program > Java Compiler > Byte Code (.class file) > dx utility > Byte Code (.dex file) > DVM
* Dalvik VM
> 자바 소스를 자바 바이트 코드로 컴파일한 후, 달빅 가상 머신 (DVM) 위에서 실행하는 달빅 실행파일 (DEX; Dalvik execute file) 로 변환
> 달빅은 안드로이드용으로 특수하게 만들어졌으며, 메모리, 프로세서, 전력이 제한된 환경에서 운영하기 위해 설계
> JVM 은 Stack-based Machine 인 반면에, DVM 은 Register-based Machine
- Stack-based Machine 은 데이터를 조작하기 전에 레지스터에 있는 데이터를 operand stack 으로 전송
- Register-based Machine 은 가상 레지스터를 사용해 직접 연산한다.
: 명령어의 상대적인 크기는 증가하지만, 실행해야 하는 명령어 개수는 줄어듦
: 달빅 창안자는 JVM 대비 평균 30% 더 효율적이라서 달빅을 지지한다고 한다
'SW > Android' 카테고리의 다른 글
Android DB (SQLite, Room) (0) | 2021.04.18 |
---|---|
Cursor (0) | 2021.04.02 |
AsyncTask (0) | 2020.08.15 |
Zygote (0) | 2020.08.15 |
ANR (Application Not Responding) (0) | 2020.08.15 |