android的分層
㈠ Android的系統架構包括哪些部分
Android一詞的本義指「機器人」,最初的Android主要支持手機,後來經過開發改良,逐漸擴展到平板電腦及其他一些領域上,是首個為移動終端打造的真正的開放和完整的移動軟體。
Android的系統架構和其操作系統一樣,採用了分層的架構。Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和linux內核層。
一、應用程序
Android會同一系列核心應用程序包一起發布,該應用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用java語言編寫的。
二、應用程序框架
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
三、系統運行庫
Android 包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。它們通過 Android 應用程序框架為開發者提供服務。
四、Linux內核層
Android內核是基於Linux 內核的修改的內核版本,它提供了用於支持Android平台的設備驅動。
㈡ android的系統架構
android系統架構分從下往上為linux 內核層、運行庫、應用程序框架層、和應用程序層
linuxkernel:負責硬體的驅動程序、網路、電源、系統安全以及內存管理等功能。
libraries和 androidruntime:libraries:即c/c++函數庫部分,大多數都是開放源代碼的函數庫,例如webkit,該函數庫負責 android網頁瀏覽器的運行,例如標準的c函數庫libc、openssl、sqlite等,當然也包括支持游戲開發2dsgl和 3dopengles,在多媒體方面有mediaframework框架來支持各種影音和圖形文件的播放與顯示,例如mpeg4、h.264、mp3、 aac、amr、jpg和png等眾多的多媒體文件格式。android的runtime負責解釋和執行生成的dalvik格式的位元組碼。
applicationframework(應用軟體架構),java應用程序開發人員主要是使用該層封裝好的api進行快速開發。
applications:該層是java的應用程序層,android內置的googlemaps、e-mail、即時通信工具、瀏覽器、mp3播放 器等處於該層,java開發人員開發的程序也處於該層,而且和內置的應用程序具有平等的位置,可以調用內置的應用程序,也可以替換內置的應用程序。
上面的四個層次,下層為上層服務,上層需要下層的支持,調用下層的服務,這種嚴格分層的方式帶來的極大的穩定性、靈活性和可擴展性,使得不同層的開發人員可以按照規范專心特定層的開發。
android應用程序使用框架的api並在框架下運行,這就帶來了程序開發的高度一致性,另一方面也告訴我們,要想寫出優質高效的程序就必須對整個 applicationframework進行非常深入的理解。精通applicationframework,你就可以真正的理解android的設計 和運行機制,也就更能夠駕馭整個應用層的開發。
㈢ Android系統的底層建立在Linux系統之上,該平台由那4層組成
1,Android應用程序層;
2,應用程序框架層;
3,系統運行庫層;
4,Linux核心層。
㈣ android中怎麼實現分層開發
ndroid開發筆記2----Android定義和分層介紹
(2010-11-25 14:38:45)
轉載▼
分類: Android
一. 開放手機聯盟
開放手機聯盟,Open Handset Alliance:是美國Google公司與2007 年11 月5 日宣布組建的一個全球性的聯盟組織。這一聯盟將會支持Google發布的Android手機操作系統或者應用軟體,共同開發名為Android的開放源代碼的移動系統。
二. Android含義
Android是一個專門針對移動設備的軟體集,它包括一個操作系統,中間件和一些重要的應用程序。Android SDK提供了在Android平台上使用Java語言進行Android應用開發必須的工具和API介面。
三. Android系統構架
Android分為4層,從高到底分別是應用層、應用框架層、系統運行庫層和Linux內核層:
1.應用層
應用是用Java語言編寫的運行在虛擬機上的程序。Google最開始時就在Android系統中捆綁了一些核心應用,比如E-mail 客戶端、SMS 短消息程序、日歷、地圖、瀏覽器、聯系人管理程序,等等。
2.應用程序框架層
應用程序框架層是編寫常用核心應用所使用的API框架,開發者可以在開發自己特色的應用程序中重復利用這些組件和服務。目前所有的應用程序都是由這些組件和服務構成。
(1) 豐富而又可擴展的視圖(View):可以用來構建應用程序,它包括列表(List)、網格(Grid)、文本框(Text Box)、按鈕(Button),以及可嵌入的Web瀏覽器。
(2) 內容提供器(Content Providers):它可以讓一個應用訪問另一個應用的數據(如聯系人資料庫), 或共享它們自己的數據。
(3) 資源管理器(Resource Manager):提供非代碼資源的訪問,如本地字元串、圖形和布局文件(Layout file)。
(4) 通知管理器(Notification Manager):應用可以在狀態欄中顯示自定義的提示信息。
(5) 活動管理器(Activity Manager):用來管理應用程序生命周期並提供常用的導航退回功能。
(6) 窗口管理器(Window Manager):管理所有的窗口程序。
(7) 包管理器(Package Manager):Android 系統內的程序管理。
3.系統運行庫(C/C++庫以及Android 運行庫)層
程序庫:
Android 包含一些C/C++庫,這些庫能被Android 系統中不同的組件使用。它們通過Android 應用程序框架為開發者提供服務。以下是一些核心庫:
** 系統C庫- 一個從BSD 繼承來的標准C 系統函數庫(libc),它是專門為基於embedded linux的設備定製的。
** 媒體庫- 基於PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
** SurfaceManager - 對顯示子系統的管理,並且為多個應用程序提供了2D和3D 圖層的無縫融合。
** LibWebCore - 一個最新的web 瀏覽器引擎用,支持Android 瀏覽器和一個可嵌入的web 視圖。
** SGL - 底層的2D圖形引擎
** 3D libraries - 基於OpenGL ES 1.0 APIs 實現;該庫可以使用硬體3D 加速(如果可用)或者使用高度優化的3D 軟加速。
** FreeType -點陣圖(bitmap)和矢量(vector)字體顯示。
** SQLite - 一個對於所有應用程序可用,功能強勁的輕型關系型資料庫引擎。
運行庫:
Android 包括了一個核心庫,該核心庫提供了JAVA 編程語言核心庫的大多數功能。
Dalvik:
每一個Android 應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik 被設計成一個設備可以同時高效地運行多個虛擬系統。Dalvik 虛擬機執行(.dex)的Dalvik 可執行文件,該格式文件針對小內存使用做了優化。同時虛擬機是基於寄存器的,所有的類都經由JAVA 編譯器編譯,然後通過SDK中的"dx" 工具轉化成.dex 格式由虛擬機執行。
4. Linux內核層
Android系統平台是基於優化了的Linux內核,是其系統平台的核心。它提供諸如內存管理、進程管理、設備驅動等服務,同時也是作為硬體與軟體棧之間的抽象層,用來做相互溝通的工作.
四. 進程間通信
Android 採用OpenBinder
㈤ android系統 主要有哪幾部分
android系統分為四部分,從高到低分別是:
1、Android應用層
2、Android應用框架層
3、Android系統運行層
4、Linux內核層
Android系統構架主要應用於ARM平台,但不僅限於ARM,通過編譯控制,在X86、MAC等體系結構的機器上同樣可以運行。
(5)android的分層擴展閱讀:
Android運行庫
Android包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數功能。
每一個Android都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成一個設備可以同時高效地運行多個虛擬系統。Dalvik虛擬機執行(.dex)的Dalvik可執行文件,該格式文件針對小內存使用做了優化。
同時虛擬機是基於寄存器的,所有的類都經由JAVA編譯器編譯,然後通過SDK中的「dx」工具轉化成.dex格式由虛擬機執行。