Android的系統架構之開(kāi)發(fā)基礎
Android的系統架構采用了分層架構的思想,如圖1所示。從上層到底層共包括四層,分別是應用程序程序層、應用框架層、系統庫和Android運行時(shí)和Linux內核。
本文引用地址:http://dyxdggzs.com/article/201610/306865.htm
圖1:Android系統架構圖
每層功能簡(jiǎn)要介紹如下:
一 應用程序層
該層提供一些核心應用程序包,例如電子郵件、短信、日歷、地圖、瀏覽器和聯(lián)系人管理等。同時(shí),開(kāi)發(fā)者可以利用Java語(yǔ)言設計和編寫(xiě)屬于自己的應用程序,而這些程序與那些核心應用程序彼此平等、友好共處。
二 應用程序框架層
該層是Android應用開(kāi)發(fā)的基礎,開(kāi)發(fā)人員大部分情況是在和她打交道。應用程序框架層包括活動(dòng)管理器、窗口管理器、內容提供者、視圖系統、包管理器、電話(huà)管理器、資源管理器、位置管理器、通知管理器和XMPP服務(wù)十個(gè)部分。在A(yíng)ndroid平臺上,開(kāi)發(fā)人員可以完全訪(fǎng)問(wèn)核心應用程序所使用的API框架。并且,任何一個(gè)應用程序都可以發(fā)布自身的功能模塊,而其他應用程序則可以使用這些已發(fā)布的功能模塊?;谶@樣的重用機制,用戶(hù)就可以方便地替換平臺本身的各種應用程序組件。
三 系統庫和Android運行時(shí)
系統庫包括九個(gè)子系統,分別是圖層管理、媒體庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android運行時(shí)包括核心庫和Dalvik虛擬機,前者既兼容了大多數Java語(yǔ)言所需要調用的功能函數,又包括了Android的核心庫,比如android.os、android.net、android.media等等。后者是一種基于寄存器的java虛擬機,Dalvik虛擬機主要是完成對生命周期的管理、堆棧的管理、線(xiàn)程的管理、安全和異常的管理以及垃圾回收等重要功能。
四 Linux內核
Android核心系統服務(wù)依賴(lài)于Linux2.6內核,如安全性、內存管理、進(jìn)程管理、網(wǎng)絡(luò )協(xié)議棧和驅動(dòng)模型。Linux內核也是作為硬件與軟件棧的抽象層。驅動(dòng):顯示驅動(dòng)、攝像頭驅動(dòng)、鍵盤(pán)驅動(dòng)、WiFi驅動(dòng)、Audio驅動(dòng)、flash內存驅動(dòng)、Binder(IPC)驅動(dòng)、電源管理等。
總結:
1 Android的系統架構采用分層架構的思想,架構清晰,層次分明,協(xié)同工作。
2 Android的系統架構不僅從宏觀(guān)上認識了Android系統,同時(shí),也給我們的學(xué)習與實(shí)踐指明了方向。若是從事Android應用開(kāi)發(fā),那應該研究Android的應用框架層和應用程序層;若是從事Android系統開(kāi)發(fā),那應該研究Android的系統庫和Android運行時(shí);若是從事Android驅動(dòng)開(kāi)發(fā),那應該研究Android的Linux內核??傊?,找準切入點(diǎn),實(shí)踐出真知。
評論