它執行的不是JAVA標准的字節碼(bytecode)而是Dalvik可執行格式(.dex)中執行文件。在執行的過程中,每一個應用程序即一個進程(Linux的一個Process)。
二者最大的區別在於:
Java VM是以基於棧的虛擬機(Stack-based),
Dalvik是基於寄存器的虛擬機(Register-based)。
應用程序框架(Application Framework) Android的應用程序框架為應用程序層的開發者提供APIs,它實際上是一個應用程序的框架。由於上層的應用程序是以JAVA構建的,因此本層次提供的首先包含了UI程序中所需要的各種控件:
例如:Views (視圖組件)包括 lists(列表), grids(柵格), text boxes(文本框), buttons(按鈕)等。甚至一個嵌入式的Web浏覽器。
一個Andoid的應用程序可以利用應用程序框架中的以下幾個部分:
Activity (活動)
Broadcast Intent Receiver (廣播意圖接收者)
Service (服務)
Content Provider (內容提供者)
應用程序(Application)
Android的應用程序主要是用戶界面(User Interface)方面的,通常以JAVA程序編寫,其中還可以包含各種資源文件(放置在res目錄中)JAVA程序及相關資源經過編譯後,將生成一個APK包。Android本身提供了主屏幕(Home),聯系人(Contact),電話(Phone),浏覽器(Browers)等眾多的核心應用。同時應用程序的開發者還可以使用應用程序框架層的API實現自己的程序。這也是Android開源的巨大潛力的體現。