<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Android系統(tǒng)架構(gòu)簡介

    時(shí)間:2024-10-28 14:06:43 系統(tǒng)架構(gòu)師 我要投稿
    • 相關(guān)推薦

    Android系統(tǒng)架構(gòu)簡介

      目前Android的Linux kernel控制包括安全、存儲(chǔ)器管理、進(jìn)程管理、網(wǎng)絡(luò)堆疊、驅(qū)動(dòng)程序模型等。下載Android源碼之前,先要安裝其構(gòu)建工具Repo來初始化源碼。Repo是Android用來輔助Git工作的一個(gè)工具。

      應(yīng)用程序

      Android系統(tǒng)是基于Linux內(nèi)核開發(fā),使用Java作編程語言,使界面到功能,都有層出不窮的變化,其中Activity等同于J2ME的MIDlet,一個(gè)Activity類別負(fù)責(zé)創(chuàng)建視窗,一個(gè)活動(dòng)中的Activity就是在foreground(前景)模式,背景執(zhí)行的程序叫做Service。兩者之間透過由ServiceConnection和AIDL連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)執(zhí)行的效果。如果執(zhí)行中的Activity全部畫面被其他Activity取代時(shí),該Activity便被停止,甚至被系統(tǒng)清除。

      View等同于J2ME的Displayable,程序人員可以透過View類別與“XML layout”檔將UI放置在視窗上,并可以利用View打造出所謂的Widgets,其實(shí)Widget只是View的一種,所以可以使用xml來設(shè)計(jì)layout。至于ViewGroup是各種layout的基礎(chǔ)抽象類別,ViewGroup之內(nèi)還可以有ViewGroup。View的構(gòu)造函數(shù)不需要在Activity中調(diào)用,但是Displayable的是必須的,在Activity中,要通過findViewById()來從XML中獲取View,Android的View類的顯示很大程度上是從XML中讀取的。View與事件息息相關(guān),兩者之間透過Listener結(jié)合在一起,每一個(gè)View都可以注冊event listener,例如:當(dāng)View要處理用戶觸碰的事件時(shí),就要向Android框架注冊View.OnClickListener。另外還有Image等同于J2ME的BitMap。

      中介軟件

      操作系統(tǒng)與應(yīng)用程序的溝通橋梁,并用分為兩層:函數(shù)層和虛擬機(jī)器。 Bionic是Android改良libc的版本。Android包含了Chrome瀏覽器引擎。Surface flinger是就2D或3D的內(nèi)容顯示到螢?zāi)簧稀ndroid使用工具鏈為Google自制的Bionic Libc。

      Android采用OpenCORE作為基礎(chǔ)多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。

      Android使用Skia為核心圖形引擎,搭配OpenGL/ES。Skia與Linux Cairo功能相當(dāng),但相較于Linux Cairo,Skia功能還只是陽春型的。2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,目前Skia也是Google Chrome的圖形引擎。

      Android的多媒體資料庫采用SQLite資料庫系統(tǒng)。資料庫又分為共用資料庫及私用資料庫。用戶可透過ContentProvider類別獲取共用資料庫。

      Android的中間層多以Java實(shí)現(xiàn),4.4版之前使用特殊的Dalvik虛擬機(jī)器。Dalvik虛擬機(jī)器是一種“暫存器型態(tài)”的Java虛擬機(jī)器,變數(shù)皆存放于暫存器中,虛擬機(jī)器的指令相對減少。5.0版起改用Android Runtime(ART)。

      Dalvik虛擬機(jī)器可以有多個(gè)實(shí)例,每個(gè)Android應(yīng)用程序都用一個(gè)自屬的Dalvik虛擬機(jī)器來執(zhí)行,讓系統(tǒng)在執(zhí)行程序時(shí)可達(dá)到最優(yōu)化。Dalvik虛擬機(jī)器并非執(zhí)行Java字節(jié)碼,而是執(zhí)行一種稱為.dex格式的檔案。

      硬件抽像層(HAL)

      Android的硬件抽像層是能以封閉源碼形式提供硬件驅(qū)動(dòng)模塊。HAL的目的是為了把Android framework與Linux kernel隔開,讓Android不至過度依賴Linux kernel,以達(dá)成“內(nèi)核獨(dú)立”(kernel independent)的概念,也讓Android framework的開發(fā)能在不考量驅(qū)動(dòng)程序?qū)崿F(xiàn)的前提下進(jìn)行發(fā)展,以達(dá)到壟斷GPU市場的目的。

      HAL stub是一種代理人的概念,stub是以*.so檔的形式存在。Stub向HAL“提供”操作函數(shù),并由Android runtime向HAL獲取stub的操作,再回調(diào)這些操作函數(shù)。HAL里包含了許多的stub(代理人)。Runtime只要說明“類型”,即module ID,就可以獲取操作函數(shù)。

      編程語言

      Android是執(zhí)行于Linux kernel之上,但并不是GNU/Linux。因?yàn)樵谝话鉍NU/Linux里支持的功能,Android大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android為了達(dá)到商業(yè)應(yīng)用,必須移除被GNU GPL授權(quán)證所約束的部分,Android并沒有用戶層驅(qū)動(dòng)(user space driver)這種東西。所有的驅(qū)動(dòng)還是在內(nèi)核空間中,并以HAL隔開版權(quán)問題。bionic/libc/kernel/ 并非標(biāo)準(zhǔn)的內(nèi)核頭文件(kernel header files)。Android的內(nèi)核頭文件是利用工具由Linux內(nèi)核的頭文件所產(chǎn)生的,這樣做是為了保留常數(shù)、資料結(jié)構(gòu)與宏。

      Android的核心基于Linux,除了核心之外,則是中介層、數(shù)據(jù)庫元和用C/C++編寫的API以及應(yīng)用程序框架。Android的應(yīng)用程序通常以Java數(shù)據(jù)庫元為基礎(chǔ)編寫,運(yùn)行程序時(shí),應(yīng)用程序的代碼會(huì)被即時(shí)轉(zhuǎn)變?yōu)镈alvik dex-code(Dalvik Executable),然后Android操作系統(tǒng)通過使用即時(shí)編譯的Dalvik虛擬機(jī)來將其運(yùn)行。

    【Android系統(tǒng)架構(gòu)簡介】相關(guān)文章:

    智慧健康系統(tǒng)架構(gòu)09-01

    秒殺系統(tǒng)架構(gòu)分析09-22

    什么是系統(tǒng)架構(gòu)師-如何成為系統(tǒng)架構(gòu)師08-10

    linux系統(tǒng)集群的架構(gòu)與實(shí)現(xiàn)09-11

    如何搭建系統(tǒng)CSS架構(gòu)09-26

    標(biāo)清視頻系統(tǒng)的架構(gòu)09-12

    Web系統(tǒng)架構(gòu)的性能優(yōu)化08-28

    系統(tǒng)架構(gòu)師概述10-13

    什么是系統(tǒng)架構(gòu)師08-01

    SAP系統(tǒng)架構(gòu)是什么10-25

    主站蜘蛛池模板: 久久精品99无色码中文字幕| 老子影院午夜精品无码| 97精品伊人久久久大香线蕉| 亚洲国产精品无码专区| 国产精品无码v在线观看| 丰满人妻熟妇乱又仑精品| 亚洲精品国产日韩无码AV永久免费网| 久久夜色精品国产亚洲| 精品人妻中文av一区二区三区| 色婷婷噜噜久久国产精品12p| 国产午夜精品理论片久久| 久久这里只有精品久久| 99久久99这里只有免费费精品| 日韩精品久久无码中文字幕| 午夜在线视频91精品| 国产AⅤ精品一区二区三区久久| 99精品视频3| 国产在线精品免费aaa片| 无码精品久久久久久人妻中字| 亚洲精品无码久久久| 日韩精品欧美亚洲| 久热精品人妻视频| 免费视频成人国产精品网站| 国产乱人伦偷精品视频免观看| 国产精品高清免费网站| 国产精品视频免费一区二区| 国产精品视频九九九| 四虎国产精品永久一区| 亚洲日韩精品一区二区三区无码| 国产精品亚洲高清一区二区| 99久久夜色精品国产网站| 亚洲人成亚洲精品| 影视网欧洲精品| 国产成人精品无人区一区| 成人精品一区二区久久久| 国产成人精品日本亚洲专区| 国产精品成人精品久久久| 国产精品人人做人人爽| 国产国拍亚洲精品福利| 国产一区二区精品久久凹凸| 久久996热精品xxxx|