新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > Android的系統(tǒng)架構(gòu)之開發(fā)基礎(chǔ)

Android的系統(tǒng)架構(gòu)之開發(fā)基礎(chǔ)

作者: 時(shí)間:2016-10-15 來源:網(wǎng)絡(luò) 收藏

的系統(tǒng)架構(gòu)采用了分層架構(gòu)的思想,如圖1所示。從上層到底層共包括四層,分別是應(yīng)用程序程序?qū)?、?yīng)用框架層、系統(tǒng)庫和運(yùn)行時(shí)和Linux內(nèi)核。

本文引用地址:http://butianyuan.cn/article/201610/306865.htm
1.jpg

圖1:系統(tǒng)架構(gòu)圖

每層功能簡要介紹如下:

一 應(yīng)用程序?qū)?/span>

該層提供一些核心應(yīng)用程序包,例如電子郵件、短信、日歷、地圖、瀏覽器和聯(lián)系人管理等。同時(shí),開發(fā)者可以利用Java語言設(shè)計(jì)和編寫屬于自己的應(yīng)用程序,而這些程序與那些核心應(yīng)用程序彼此平等、友好共處。

二 應(yīng)用程序框架層

該層是Android應(yīng)用開發(fā)的基礎(chǔ),開發(fā)人員大部分情況是在和她打交道。應(yīng)用程序框架層包括活動(dòng)管理器、窗口管理器、內(nèi)容提供者、視圖系統(tǒng)、包管理器、電話管理器、資源管理器、位置管理器、通知管理器和XMPP服務(wù)十個(gè)部分。在Android平臺上,開發(fā)人員可以完全訪問核心應(yīng)用程序所使用的API框架。并且,任何一個(gè)應(yīng)用程序都可以發(fā)布自身的功能模塊,而其他應(yīng)用程序則可以使用這些已發(fā)布的功能模塊?;谶@樣的重用機(jī)制,用戶就可以方便地替換平臺本身的各種應(yīng)用程序組件。

三 系統(tǒng)庫和Android運(yùn)行時(shí)

系統(tǒng)庫包括九個(gè)子系統(tǒng),分別是圖層管理、媒體庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android運(yùn)行時(shí)包括核心庫和Dalvik虛擬機(jī),前者既兼容了大多數(shù)Java語言所需要調(diào)用的功能函數(shù),又包括了Android的核心庫,比如android.os、android.net、android.media等等。后者是一種基于寄存器的java虛擬機(jī),Dalvik虛擬機(jī)主要是完成對生命周期的管理、堆棧的管理、線程的管理、安全和異常的管理以及垃圾回收等重要功能。

四 Linux內(nèi)核

Android核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。Linux內(nèi)核也是作為硬件與軟件棧的抽象層。驅(qū)動(dòng):顯示驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)、鍵盤驅(qū)動(dòng)、WiFi驅(qū)動(dòng)、Audio驅(qū)動(dòng)、flash內(nèi)存驅(qū)動(dòng)、Binder(IPC)驅(qū)動(dòng)、電源管理等。

總結(jié):

1 Android的系統(tǒng)架構(gòu)采用分層架構(gòu)的思想,架構(gòu)清晰,層次分明,協(xié)同工作。

2 Android的系統(tǒng)架構(gòu)不僅從宏觀上認(rèn)識了Android系統(tǒng),同時(shí),也給我們的學(xué)習(xí)與實(shí)踐指明了方向。若是從事Android應(yīng)用開發(fā),那應(yīng)該研究Android的應(yīng)用框架層和應(yīng)用程序?qū)?若是從事Android系統(tǒng)開發(fā),那應(yīng)該研究Android的系統(tǒng)庫和Android運(yùn)行時(shí);若是從事Android驅(qū)動(dòng)開發(fā),那應(yīng)該研究Android的Linux內(nèi)核。總之,找準(zhǔn)切入點(diǎn),實(shí)踐出真知。



關(guān)鍵詞: Android 操作系統(tǒng)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉