一、Android系統架構(Android大致可以分為四大架構,五塊區域)(Linux內核層、系統運行庫層,應用框架層、應用層)
1. Linux內核層
Android系統是基于Linux2.6內核的,這一層為Android提供設備的各種硬件提供了底層驅動;
如顯示驅動、音頻驅動、照相機驅動、藍牙驅動、WiFi驅動、電源管理等;
2. 系統運行庫層
這一層為通過一些C/C++庫來為Android系統提供了主要的特性支持,如SQLite庫提供了數據庫的支持,OpenGL|ES庫提供了3D繪圖的支持,WebKit庫提供了瀏覽器內核的支持等;
同樣在這一層還有Android運行時庫,他提供了一些核心庫,能夠允許使用Java語言來編寫Android應用,另外Android運行時庫中還包含了Dalvik虛擬機,他使得每一個Android應用都能運行在獨立的進程當中,并擁有自己的Dalvik虛擬機實例,相較于Java虛擬機,Dalvik虛擬機是專門為移動設備定制的,它針對手機的內存和CUP性能有限等情況作了優化;
Surface Manager: 對顯示子系統的管理,并且為多個應用程序提供了2D和3D圖層的無縫融合。
Media FrameWork:基于PacketVideo OpenCORE,該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態圖像文件,支持的格式有MPEG4、H.264、MP4、MP3、AAC、AMR、JPG、PNG。
SGL:底層的2D圖形引擎。
SQLite:輕型關系型數據庫引擎。
WebKit:一套網頁瀏覽器的軟件引擎。
FreeType:位圖(bitmap)和矢量(vector)字體顯示。
libC:一個從BSD繼承來的標準的C系統函數庫(libc),它專門為基于embedded Linux的設備定制的。
SSL:在Android上通信過程中實現握手。
LibWebCore:一個最新的web瀏覽器引擎,支持Android瀏覽器和一個可嵌入的web視圖。
3. 應用框架層
這一層主要提供了構建應用時可能用到的各種API,開發者通過這些API來構建自己的引用程序;
Activity Manager(活動管理器):管理各個應用程序生命周期以及通常的導航回退功能。
Windows Manager(窗口管理器):管理所有窗口程序。
Content Provider (內容提供器):使得不同應用程序之間存取或分享數據。
View System(視圖系統):構建應用程序的基本組件。
Notification Manager(通告管理器):使得應用程序可以在狀態欄中顯示自定義的提示信息。
Package Manager(包管理器):Android系統內的程序管理器。
Telephony Manager(電話管理器):管理所有的移動設備功能。
Resource Manager(資源管理器):提供應用程序使用的各種非代碼資源,如本地化字符串、圖片、顏色文件等。
Location Manager(位置管理器):提供位置服務。
XMPP Service(XMPP服務):提供Google Talk服務。
4. 應用層
所有安裝的在手機上的應用就屬于這一層;
文章列表