1. 程式人生 > >android的架構圖

android的架構圖

pic box word listview gallery ide ddl 電源管理 url

技術分享

1.Applications

該層是Android應用程序層。

每一個應用必須利用android系統設計的應用框架(application framework)開發。

眼下的開發環境是eclipse + ADT, 詳細安裝方式能夠從網上找。開發語言是java, 也可用JNI(須要安裝NDK)方式調用其它語言(如c, c++)編寫的代碼。android系統公布時通常會預置一些經常使用應用,如 phone。contacts。phone, maps,browser,email, gallery等。SDK自帶的samples中apiDemos差點兒包含了全部API的使用方式,是一個好的學習材料。

2. Application Framework

提供應用程序開發框架及其管理模式。包含

1)Activity Manager: Activity Manager維護應用的生命周期,並提供一致的導航機制。

2)Window Manager: 管理window相關的方法和屬性。

3)Content Provider: 通過公共接口提供應用間數據共享機制。能夠讓一個程序把自己數據共享給其它程序。

4)View System: 標準控件。包含 DatePicker, TimePicker, Spinner, AutoComplete, Button, EditText, CheckBox, Radio, ImageButton, Gallery, ImageSwitcher, ListView, GridView 以及 LinearLayout, RelativeLayout, TableLayout三種布局管理算法,很的有用。

5)Notification Manager: 自己定義提示標誌管理,這些標誌會顯示在手機狀態欄。

6)Package Manager: 提供與package相關的管理功能

7)Telephony Manager:提供手機設備功能接口。比方battery, network等等

8)Resource Manager: 提供非代碼資源的訪問能力。如本地化字符串,圖片,布局等資源

9) Location Manager: 提供基於GPS或network的位置訪問接口

3.Libraries

1)Surface Manager: 組合多個應用的圖層顯示到物理設備上

2)OpenGL|ES: 3D 圖形庫

3)SGL: 2D 圖形庫

4)Media Framework: 基於 PacketVideo 的 OpenCORE,支持播放以及錄制很多流行的音頻視頻格式以及靜態圖片格式。包含 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。

5)FreeType: 位圖字體和矢量字體渲染

6)SSL: 安全通信

7)SQLite: 輕量級的關系數據庫

8)WebKit: web引擎

9)Libc: 系統 C 庫

4. Android Runtime

1)Core Libraries: Java 核心類庫

2)Dalvik Virtual Machine: Dalvik是Google公司自己設計用於Android平臺的Java虛擬機,它基於寄存器而非堆棧的虛擬機。運行 .dex (即Dalvik Executable)格式的文件,該格式是專為Dalvik設計的一種壓縮格式,能夠降低總體文件尺寸,提高I/o操作、類查找速度,所以比較適合移動電話這樣的資源受限的系統。.dex 文件是用 dx 工具從 Java 的 .class 文件轉換過來的。android應用的全部文件(包含*.so)最後都會打包成 .apk 文件,經安裝之後就可以執行在simulatore/手機上。

5.Linux Kernel

linux內核提供操作系統核心功能,包含各種硬件驅動,電源管理。

android的架構圖