Android系統(tǒng)基本框架

1.下圖就是Android的基本框架

u=3637049461,2333775103&fm=26&gp=0.jpg

2.Android基本框架共三層悬槽,分別為應(yīng)用層井厌,類庫層,Linux 內(nèi)核層攒巍。其中應(yīng)用層又分為應(yīng)用(Applications)和應(yīng)用框架(Application Framework)而柑,類庫層分為類庫(Libraries)竹勉、硬件抽象層(Hardware Abstraction layer)以及安卓運(yùn)行時(Android Runtime)在刺。
應(yīng)用(Applications)Applications應(yīng)用層包含了所有為安卓用戶提供服務(wù)的系統(tǒng)應(yīng)用或第三方應(yīng)用贷岸,比如電話跃闹,短信嵌削,通訊錄,相機(jī)望艺,鬧鐘苛秕,日歷,瀏覽器找默,微信想帅,QQ等APP。
應(yīng)用框架(Application Framework)應(yīng)用框架(Application Framework)是面向安卓應(yīng)用開發(fā)者的啡莉,為開發(fā)者提供各種API港准,以便開發(fā)者能構(gòu)建自己的APP。比如提供了Android的四大組件咧欣,Activity浅缸,Broadcast Receiver,Content Provider魄咕,Service衩椒,以及Activity Manager,Window Manager,Package Manager毛萌,View System等苟弛。
類庫(Libraries)這一層是一個C/C++的so庫,為Android提供一些特性支持阁将,比如SQLite提供數(shù)據(jù)庫支持膏秫,Webkit提供瀏覽內(nèi)核支持,此外還有Surface Manager做盅,Audio Manager缤削,Media Framework,OpenGL/ES 等吹榴。
硬件抽象層(Hardware Abstraction layer)這是Android在內(nèi)核外部增加的硬件抽象層(HAL, Hardware Abstraction Layer)亭敢,把一部分驅(qū)動功能放到HAL層中是為了保護(hù)源代碼。Linux內(nèi)核采用了GPL協(xié)議图筹,所以硬件生產(chǎn)商想要支持Linux系統(tǒng)帅刀,必須遵照GPL協(xié)議公開硬件驅(qū)動的源代碼。但這些源代碼中包含有許多硬件的設(shè)計信息远剩,牽涉到硬件生產(chǎn)商的核心利益劝篷。而增加了HAL層之后,硬件廠商就不需要開放所有的驅(qū)動代碼了民宿。
安卓運(yùn)行時(Android Runtime)這一層為Android的Dalvik虛擬機(jī)娇妓。安卓的應(yīng)用是用Java編寫的,而包括HAL在內(nèi)的Linux的庫都是用C/C++編寫的活鹰,這個落差由Dalvik虛擬機(jī)銜接的哈恰。當(dāng)一個應(yīng)用運(yùn)行時,進(jìn)程空間內(nèi)將包含一個Dalvik虛擬機(jī)志群。Java程序編譯為字節(jié)碼文件着绷,運(yùn)行在Dalvik虛擬機(jī)中。根據(jù)Java代碼中的要求锌云,Dalvik通過JNI(Java Native Interface)調(diào)用底層的C/C++編寫的功能荠医。JNI是從Java中調(diào)用C/C++模塊的接口。由于上層接口的標(biāo)準(zhǔn)化桑涎,字節(jié)碼可以暢通無阻的跨平臺運(yùn)行彬向。
Dalvik虛擬機(jī)內(nèi)部是一個“虛擬”進(jìn)程空間,有自己的棧和堆攻冷,管理代碼的運(yùn)行流程娃胆。如果這以“虛擬”進(jìn)程空間不足,Dalvik內(nèi)建的垃圾回收(garbage collection)機(jī)制會自動清空堆上不再使用的對象等曼。自動的垃圾回收簡化了程序員的工作里烦,但速度較慢凿蒜。手動內(nèi)存管理效率高,但需要更多的編程胁黑,且容易犯錯废封。
Linux 內(nèi)核(Linux kernel)這一層為Android設(shè)備各種硬件提供了底層驅(qū)動,如顯示驅(qū)動丧蘸、音頻驅(qū)動漂洋、照相機(jī)驅(qū)動、藍(lán)牙驅(qū)動触趴、Wi-Fi驅(qū)動氮发、電源管理等渴肉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冗懦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子仇祭,更是在濱河造成了極大的恐慌披蕉,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乌奇,死亡現(xiàn)場離奇詭異没讲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)礁苗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門爬凑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人试伙,你說我怎么就攤上這事嘁信。” “怎么了疏叨?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵潘靖,是天一觀的道長。 經(jīng)常有香客問我蚤蔓,道長卦溢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任秀又,我火速辦了婚禮单寂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吐辙。我一直安慰自己凄贩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布袱讹。 她就那樣靜靜地躺著疲扎,像睡著了一般昵时。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上椒丧,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天壹甥,我揣著相機(jī)與錄音,去河邊找鬼壶熏。 笑死句柠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的棒假。 我是一名探鬼主播溯职,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼帽哑!你這毒婦竟也來了谜酒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤妻枕,失蹤者是張志新(化名)和其女友劉穎僻族,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屡谐,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡述么,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了愕掏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片度秘。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖饵撑,靈堂內(nèi)的尸體忽然破棺而出剑梳,到底是詐尸還是另有隱情,我是刑警寧澤肄梨,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布阻荒,位于F島的核電站,受9級特大地震影響众羡,放射性物質(zhì)發(fā)生泄漏侨赡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一粱侣、第九天 我趴在偏房一處隱蔽的房頂上張望羊壹。 院中可真熱鬧,春花似錦齐婴、人聲如沸油猫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽情妖。三九已至睬关,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毡证,已是汗流浹背电爹。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留料睛,地道東北人丐箩。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像恤煞,于是被迫代替她去往敵國和親屎勘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348