Android framework淺析[轉]


 Android系統從底向上一共分了4層,每一層都把底層實現封裝,並暴露調用接口給上一層。

1. Linux內核(Linux Kernel)

       1)Android運行在linux kernel 2.6之上,但是把linux內受GNU協議約束的部分做了取代,這樣在Android的程序可以用於商業目的。

       2)Linux 內核是硬件和軟件層之間的抽象層。

       3)系統總是需要操作系統的支持的,比如內存管理、進程管理、網絡協議棧等

 2. 中間件(即android 的C/C++框架)

       1)中間件包括兩部分:核心庫和運行時(libraries & Android runtime)

       2)核心庫包括,SurfaceManager 顯示系統管理庫,負責把2D或3D內容顯示到屏幕;Media Framework 媒體庫,負責支持圖像,支持多種視頻和音頻的錄制和回放;SQlite 數據庫,一個功能強大的輕量級嵌入式關系數據庫;WebKit 瀏覽器引擎等。

       3)Dalvik虛擬機:區別於Java虛擬機的是,每一個Android 應用程序都在它自己的進程中運行,都有一個屬於自己的Dalvik 虛擬機,這一點可以讓系統在運行時可以達到優化,程序間的影響大大降低。Dalvik虛擬機並非運行Java字節碼,而是運行自己的字節碼。 

其中

    SurFace Manager:顯示子系統的管理器
    LibWebCore:web 瀏覽器引擎,支持android 瀏覽器
    SGL:skia 圖形庫,底層的2D 圖形引擎
   3D 庫:OpenGL
   FreeType:字體顯示 

 3. 應用程序框架(Application Framework)

       1)豐富而又可擴展性的視圖(Views),可以用來構建應用程序, 它包括列表(lists),網格(grids), 文本框(text boxes),按鈕(buttons), 可嵌入的web 瀏覽器。

       2)內容提供者(Content Providers)使得應用程序可以訪問另一個應用程序的數據(如聯系人數據庫), 或者共享它們自己的數據。

       3)資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串,圖形,和布局文件( layoutfiles )。

       4)通知管理器(Notification Manager) 使得應用程序可以在狀態欄中顯示自定義的提示信息。

       5)活動管理器(Activity Manager) 用來管理應用程序生命周期並提供常用的導航回退功能。

4. 應用程序 (Applications)

       Android 系統會內置一些應用程序包包括email 客戶端,SMS 短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用JAVA 語言編寫的,不支持C 開發,所謂支持C 開發是指jni 的形式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM