Android結(jié)構(gòu)介紹

1. 操作系統(tǒng)層(OS)——最底層

因為Android源于Linux梳虽,使用了Linux內(nèi) 核址芯,所以Android使用Linux 2.6作為操作系統(tǒng)窜觉。Linux 2.6是一種標準的技術(shù),Linux也是一個開放的操作系統(tǒng)旬陡。Android對操作系統(tǒng)的使用包括核心和驅(qū)動程序兩部分语婴,Android的Linux核心 為標準的Linux 2.6內(nèi)核驶睦,Android更多的是需要一些與移動設(shè)備相關(guān)的驅(qū)動程序匿醒。主要的驅(qū)動如下所示场航。

  • 顯示驅(qū)動(Display Driver):常用基于Linux的幀緩沖(Frame Buffer)驅(qū)動青抛。
  • Flash內(nèi)存驅(qū)動(Flash Memory Driver):是基于MTD的Flash驅(qū)動程序。
  • 相機驅(qū)動(Camera Driver):常用基于Linux的v4l驅(qū)動适室。
  • 音頻驅(qū)動(Audio Driver):常用基于ALSA(Advanced Linux Sound Architecture举瑰,高級Linux聲音體系)的驅(qū)動。
  • WiFi驅(qū)動(Camera Driver):基于IEEE 802.11標準的驅(qū)動程序此迅。
  • 鍵盤驅(qū)動(KeyBoard Driver):作為輸入設(shè)備的鍵盤驅(qū)動。
  • 藍牙驅(qū)動(Bluetooth Driver):基于IEEE 802.15.1標準的無線傳輸技術(shù)忍些。
  • Binder IPC驅(qū)動:Android中一個特殊的驅(qū)動程序坎怪,具有單獨的設(shè)備節(jié)點,提供進程間通信的功能搅窿。
  • Power Management(能源管理):管理電池電量等信息。

2. 各種庫(Libraries)和Android 運行環(huán)境(RunTime)——中間層

本層次對應一般嵌入式系統(tǒng)闹司,相當于中間件層次沐飘。Android的本層次分成兩個部分游桩,一個是各種庫薪铜,另一個是Android 運行環(huán)境隔箍。本層的內(nèi)容大多是使用C和C++實現(xiàn)的。其中包含的各種庫如下所示蜒滩。

  • C庫:C語言的標準庫奶稠,也是系統(tǒng)中一個最為底層的庫捡遍,C庫是通過Linux的系統(tǒng)調(diào)用來實現(xiàn)的。
  • 多媒體框架(Media Frameword):這部分內(nèi)容是Android多媒體的核心部分辆飘,基于PacketVideo(即PV)的OpenCORE谓传。從功能上本庫一共分為兩 部分蜈项,一部分是音頻续挟、視頻的回放(PlayBack),另一部分則是音視頻的記錄(Recorder)跑芳。
  • SGL:2D圖像引擎直颅。
  • SSL:即Secure Socket Layer,位于TCP/IP協(xié)議與各種應用層協(xié)議之間功偿,為數(shù)據(jù)通信提供安全支持。
  • OpenGL ES 1.0:提供了對3D的支持。
  • 界面管理工具(Surface Management):提供了管理顯示子系統(tǒng)等功能投蝉。
  • SQLite:一個通用的嵌入式數(shù)據(jù)庫。
  • WebKit:網(wǎng)絡(luò)瀏覽器的核心关拒。
  • FreeType:位圖和矢量字體的功能庸娱。
    Android的各種庫一般是以系統(tǒng)中間件的形式提供的,它們都有的一個顯著特點是與移動設(shè)備的平臺的應用密切相關(guān)熟尉。
    Android 運行環(huán)境主要指的是虛擬機技術(shù)——Dalvik。Dalvik虛擬機和一般Java虛擬機(Java VM)不同剧包,它執(zhí)行的不是Java標準的字節(jié)碼(Bytecode),而是Dalvik可執(zhí)行格式(.dex)中的執(zhí)行文件疆液。在執(zhí)行的過程中,每一個應用 程序即一個進程(Linux的一個Process)潘飘。二者最大的區(qū)別在于,Java VM是基于棧的虛擬機(Stack-based)卜录,而Dalvik是基于寄存器的虛擬機(Register-based)攀圈。顯然,后者最大的好處在于可以 根據(jù)硬件實現(xiàn)更大的優(yōu)化赘来,這更適合移動設(shè)備的特點。

3. 應用程序(Application)

Android的應用程序主要是用戶界面 (User Interface)方面的嗦篱,通常用Java語言編寫幌缝,其中還可以包含各種資源文件(放置在res目錄中)、Java程序及相關(guān)資源經(jīng)過編譯后涵卵,將生成一 個APK包。Android本身提供了主屏幕(Home)典鸡、聯(lián)系人(Contact)坏晦、電話(Phone)以及瀏覽器(Brower)等眾多的核心應用。同時應用程序的開發(fā)者還可以使用應用程序框架層的API實現(xiàn)自己的程序昆婿。這也是Android開源的巨大潛力的體現(xiàn)。

4. 應用程序框架(Application Framework)

Android 的應用程序框架為應用程序?qū)拥拈_發(fā)者提供了API睁冬,它實際上是一個應用程序的框架看疙。由于上層的應用程序是以Java構(gòu)建的搂蜓,因此本層次提供的首先包含了 UI程序中所需要的各種控件辽装,例如:Views(視圖組件)帮碰,其中又包括了List(列表)拾积、Grid(柵格)、Text Box(文本框)斯碌、Button(按鈕)等肛度,甚至一個嵌入式的Web瀏覽器。
一個基本的Android應用程序可以利用應用程序框架中的以下5個部分承耿。

  • Activity(活動)
  • Broadcast Intent Receiver(廣播意圖接收者)
  • Service(服務(wù))
  • Content Provider(內(nèi)容提供者)
  • Intent and Intent Filter(意圖和意圖過濾器)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末加袋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子职烧,更是在濱河造成了極大的恐慌,老刑警劉巖蝗敢,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件足删,死亡現(xiàn)場離奇詭異,居然都是意外死亡壹堰,警方通過查閱死者的電腦和手機骡湖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門响蕴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浦夷,你說我怎么就攤上這事辜王」扌ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵汹来,是天一觀的道長改艇。 經(jīng)常有香客問我,道長谒兄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任邻耕,我火速辦了婚禮纪隙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绵咱。我一直安慰自己,他們只是感情好艾恼,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布麸锉。 她就那樣靜靜地躺著,像睡著了一般花沉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上磷脯,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音活孩,去河邊找鬼俩功。 笑死幻枉,一個胖子當著我的面吹牛诡蜓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播罗珍,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼脚粟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了核无?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤噪沙,失蹤者是張志新(化名)和其女友劉穎吐根,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拷橘,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡冗疮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了另萤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡四敞,死狀恐怖拔妥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布努释,位于F島的核電站咬摇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肛鹏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一缕减、第九天 我趴在偏房一處隱蔽的房頂上張望芒珠。 院中可真熱鬧桥狡,春花似錦皱卓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至穆桂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間享完,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工彼绷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茴迁,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓猜旬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親洒擦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容