Android的系統架構

  1. 設備驅動程序層(Linux Kernel):該層主要包括:驅動、內存管理、進程管理、網絡協議等組件。java

  2. 執行層c/c++函數庫層(Libraries)及Android Runtime:c++

  • Java不能直接訪問硬件,要訪問硬件,必須使用NDK。NDK是由c/c++語言編寫的庫(.so文件),該層是對應用程序框架層提供支持的層。瀏覽器

  • SSL:Secure Sockets Layer安全套接字層安全

  • libc:C運行時庫網絡

  • WebKit:負責瀏覽器支持(Chrome和Safari都使用該庫來支持瀏覽器)app

  • FreeType:負責字體支持框架

應用程序框架層(Application FrameWork):該層通常都是開發人員直接調用的API。該層主要由Java語言編寫。應用程序層(Applications):由運行在Dalvik虛擬機上的app組成。(Dalvik是Google公司爲Android專門設計的Java虛擬機,運行Java程序的速度比JVM更快,以此來克服手持設備在內存、處理器速度和功率等方面上的限制)。該層由Java語言編寫。
  1. Dalvik是冰島一個小鎮的名字。Dalvik VM獲取生成的java類文件,將它們組合爲一個或者多個、Dalvik可執行文件(.dex)。Dalvik VM的目標是找到全部可能的方式來優化JVM性能、內存及電池壽命。ide

  2. 採用Dalvik VM的一個結果是,Android中最終的可執行程序代碼不是java字節碼,而是.dex文件。這意味着沒法直接執行java字節碼,必須獲得java的類文件,而後將它們轉換爲.dex文件。函數

wKiom1Us6DrydAn2AASatE_e3kQ948.jpg

相關文章
相關標籤/搜索