多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > 淺談Android os體系架構(gòu)

淺談Android os體系架構(gòu)

來源:程序員人生   發(fā)布時間:2016-09-27 08:54:14 閱讀次數(shù):4141次

OS體系結(jié)構(gòu)介紹:

第1、操作系統(tǒng)層(OS)

第2、各種庫(Libraries)和Android 運行環(huán)境(RunTime)

第3、利用程序框架(Application Framework)

第4、利用程序(Application)

以下分別介紹Andoid各個層次的軟件的重點及其相干技術(shù):

● 操作系統(tǒng)層(OS)

Android使用Linux2.6作為操作系統(tǒng),Linux2.6是1種標(biāo)準(zhǔn)的技術(shù),Linux也是1個開放的操作系統(tǒng)。Android對操作系統(tǒng)的使用包括核心和驅(qū)動程序兩部份,Android的Linux核心為標(biāo)準(zhǔn)的Linux2.6內(nèi)核,Android更多的是需要1些與移動裝備相干的驅(qū)動程序。

主要的驅(qū)動以下所示:

顯示驅(qū)動(Display Driver):經(jīng)常使用基于Linux的幀緩沖(Frame Buffer)驅(qū)動。

Flash內(nèi)存驅(qū)動(Flash Memory Driver)

照相機驅(qū)動(Camera Driver):經(jīng)常使用基于Linux的v4l(Video for )驅(qū)動。

音頻驅(qū)動(Audio Driver):經(jīng)常使用基于ALSA(Advanced Linux Sound Architecture,高級Linux聲音體系)驅(qū)動。

WiFi驅(qū)動(Camera Driver):基于IEEE 802.11標(biāo)準(zhǔn)的驅(qū)動程序

鍵盤驅(qū)動(KeyBoard Driver)

藍(lán)牙驅(qū)動(Bluetooth Driver)

Binder IPC驅(qū)動: Andoid1個特殊的驅(qū)動程序,具有單獨的裝備節(jié)點,提供進(jìn)程間通訊的功能。

Power Management(能源管理)

● 各種庫(Libraries)和Android 運行環(huán)境(RunTime)

本層次對應(yīng)1般嵌入式系統(tǒng),相當(dāng)于中間件層次。Android的本層次分成兩個部份1個是各種庫,另外一個是Android 運行環(huán)境。本層的內(nèi)容

大多是使用C++實現(xiàn)的。

在其中,各種庫包括:

▅ C庫:C語言的標(biāo)準(zhǔn)庫,這也是系統(tǒng)中1個最為底層的庫,C庫是通過Linux的系統(tǒng)調(diào)用來實現(xiàn)。

▅ 多媒體框架(MediaFrameword):這部份內(nèi)容是Android多媒體的核心部份,基于PacketVideo(即PV)的OpenCORE,從功能上本庫1共分為兩大部份,1個部份是音頻、視頻的回放(PlayBack),另外一部份是則是音視頻的紀(jì)錄(Recorder)。

▅ SGL:2D圖象引擎。

▅ SSL:即Secure Socket Layer位于TCP/IP協(xié)議與各種利用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。

▅ OpenGL ES 1.0 :本部份提供了對3D的支持。

▅ 界面管理工具(Surface Management):本部份提供了對管理顯示子系統(tǒng)等功能。

▅ SQLite:1個通用的嵌入式數(shù)據(jù)庫

▅ WebKit:網(wǎng)絡(luò)閱讀器的核心

▅ FreeType:位圖和矢量字體的功能。

Android 的各種庫1般是以系統(tǒng)中間件的情勢提供的,它們均有的1個顯著特點就是與移動裝備的平臺的利用密切相干。

Android 運行環(huán)境主要指的虛擬機技術(shù)——Dalvik。Dalvik虛擬機和1般JAVA虛擬機(Java VM)不同,它履行的不是JAVA標(biāo)準(zhǔn)的字節(jié)碼(bytecode )而是Dalvik可履行格式(.dex)中履行文件。在履行的進(jìn)程中,每個利用程序即1個進(jìn)程(Linux的1個Process)。    2者最大的區(qū)分在于Java VM是以基于棧的虛擬機(Stack-based),而Dalvik是基于寄存器的虛擬機(Register-based)。明顯,后者最大的好處在于可以根據(jù)硬件實現(xiàn)更大的優(yōu)化,這更合適移動裝備的特點。

● 利用程序框架(Application Framework)

Android的利用程序框架為利用程序?qū)拥拈_發(fā)者提供APIs,它實際上是1個利用程序的框架。由于上層的利用程序是以JAVA構(gòu)建的,因此本層次提供的首先包括了UI程序中所需要的各種控件:

例如: Views (視圖組件)包括 lists(列表), grids(柵格), text boxes(文本框), buttons(按鈕)等。乃至1個嵌入式的Web閱讀器。

1個Andoid的利用程序可以利用利用程序框架中的以下幾個部份:

  • Activity (活動)
  • Broadcast Intent Receiver (廣播意圖接收者)
  • Service (服務(wù))
  • Content Provider (內(nèi)容提供者,讓開發(fā)者在不同利用程序之間同享數(shù)據(jù)。)

利用程序框架也包括1些高級管理(Manager):

  • Activity Manager:控制界面的生命周期,包括管理活動(Activity)棧。
  • Notification Manager:提供1貫的非侵入式的機制來通知用戶(例如:當(dāng)你正在玩游戲時有人給你發(fā)短信,通知不會終止你的游戲,你會聽到1個聲音提示)。
  • Resource Manager:支持非代碼資源,如字符串和圖形被外部化
  • Window Maganger、Package Mananger、Power Manager、Service Manager等等

● 利用程序(Application)

Android的利用程序主要是用戶界面(User Interface)方面的,通常以JAVA程序編寫,其中還可以包括各種資源文件(放置在res目錄中)JAVA程序及相干資源經(jīng)過編譯后,將生成1個APK包。Android本身提供了主屏幕(Home),聯(lián)系人(Contact),電話(Phone),閱讀器(Browers)等眾多的核心利用。同時利用程序的開發(fā)者還可使用利用程序框架層的API實現(xiàn)自己的程序。這也是Android開源的巨大潛力的體現(xiàn)。

開發(fā)者需要知道的Android庫

核心Android開發(fā)庫

所以在這個列表中,將幫助開發(fā)者了解哪些是可用的核心API。所有的Android裝備將提供最少這些API支持:

android.util:核心工具包中包括底層類,字符串格式化和XML解析工具、底層類??。

android.os:操作系統(tǒng)包提供了訪問基本的操作系統(tǒng)服務(wù),如消息傳遞、進(jìn)程間通訊、時鐘功能和調(diào)試。

android.graphics:圖形API提供了支持畫布、色彩和繪制圖元的低級別的圖形類并且支持繪制畫布。

android.text:用于顯示和解析文本的文本處理工具。

android.database:在數(shù)據(jù)庫處理游標(biāo)時提供底層類支持。

android.content:content API管理數(shù)據(jù)訪問,提供服務(wù)來管理資源、內(nèi)容提供者(content provider)和包。

android.view:視圖是核心的用戶接口類。所有用戶界面元素使用的是1系列視圖,以構(gòu)成用戶交互的組件。

android.widget**:內(nèi)置在View包內(nèi),小部件類是“這里是我們前面創(chuàng)建的”用戶界面元素,可以在自己的利用程序中使用。包括列表、按鈕和布局。

com.google.android.maps:高級的API,它提供了訪問本地地圖控件,可以在自己的利用程序中使用。包括MapView的控制、用于標(biāo)注和控制您的嵌入式地圖的疊加和MapController類。

android.app:1個高層次的包,允許訪問利用程序模型。該利用程序包包括Activity和Service的API等是Android利用程序的基礎(chǔ)。

android.provider:方便開發(fā)者訪問標(biāo)準(zhǔn)的內(nèi)容提供者(比如聯(lián)系人數(shù)據(jù)庫),provider包提供類給開發(fā)者訪問標(biāo)準(zhǔn)的數(shù)據(jù)庫

android.telephony:telephony API讓開發(fā)者直接接觸電話底層,開發(fā)者可以打電話、接電話、顯示通話記錄、通話狀態(tài)和短消息。

android.webkit:WebKit的軟件包功能的API與基于Web的內(nèi)容的工作,其中包括1個WebView控件在您的活動中嵌入閱讀器和cookie管理器。

一樣,你剛才看到的是Android的庫可以幫助您快速構(gòu)建利用程序的簡化列表!除在Android API,Android棧還包括1組的C/C++庫,可通過利用程序框架發(fā)布出來。它們包括:

OpenGL:用于支持基于OpenGL ES1.0 API、3D圖形庫。

FreeType**:這支持位圖和矢量字體渲染。

SGL**:用于提供2D圖形引擎的核心庫。

ibc:標(biāo)準(zhǔn)C庫,為基于Linux的嵌入式裝備進(jìn)行了優(yōu)化。

SQLite:用于存儲利用程序數(shù)據(jù)的輕量級的關(guān)系數(shù)據(jù)庫引擎。

SSL:支持使用安全套接字層加密協(xié)議進(jìn)行安全互聯(lián)網(wǎng)通訊。

注意:到此,要介紹的就太多了,我將在這里結(jié)束。只是多1個部份,你可以做自己的事情。如果你不能看完全個帖子,可以將其加入書簽,以備將來參考。由于,這里的大多數(shù)內(nèi)容不會有太大變化!

高級Android開發(fā)庫

我們所看到的核心庫,到目前為止提供所有開發(fā)Android利用程序需要的功能。但是研究高級API將會使用更高級的功能并帶來額外的樂趣。

雖然如此,值得注意的是,由于Android希望針對移動硬件有更廣泛的適應(yīng)性,因此要注意以下API適用的場合和和使用時裝置是不是具有條件。

android.location:基于位置的服務(wù)的API,使利用程序訪問裝備確當(dāng)前物理位置。基于位置的服務(wù)提供通用的訪問使用任何位置固定的硬件或技術(shù)裝備上可用的位置信息。

android.media:媒體API提供了用于播放音頻和視頻媒體文件,包括流媒體和錄制的支持。

android.opengl:Android提供使用的OpenGL ES API,你可以用它來創(chuàng)建動態(tài)3D用戶界面為你的利用程序的強大的3D渲染引擎。

android.hardware:如有可能,硬件API公然的傳感器硬件,包括攝像頭、加速計和指南針傳感器。

android.bluetooth,android.net.wifi,android.telephony:Android也提供了硬件平臺,包括藍(lán)牙、Wi-Fi和電話硬件的低級別的訪問。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产免费一区二区在线看 | 日本午夜大片a在线观看 | 99精品久久秒播无毒不卡 | 久久性| yellow中文字幕官网是什么 | 亚洲不卡一区二区三区 | 一区二区中文字幕在线观看 | 日本一级做a爱片 | 久久精品国产亚洲a | 国产一级鲁丝片 | 亚洲成人高清在线 | 国产精品福利网站 | 手机国产日韩高清免费看片 | 成人午夜精品久久久久久久小说 | 中文在线日本免费永久18近 | free性video西欧极品 | 红豆视频在线观看日本 | 亚洲国产成人久久综合一区 | 国产精品免费综合一区视频 | 最近最新高清中文字幕 | 日韩中文字幕精品一区在线 | 图片综合区 | 最新中文字幕在线视频 | 午夜三级在线观看 | 最新国产成人综合在线观看 | 亚洲影院手机版777点击进入影院 | 三级成人做爰视频 | 日韩欧美中文字幕一区二区三区 | 亚洲二区在线视频 | 亚洲性图视频 | 欧美在线色 | 亚洲国产成人麻豆精品 | 欧美性色欧美a在线播放 | 欧美精品专区第1页 | 欧美一级爱爱视频 | 亚洲天堂影院在线观看 | 欧美白人黑人xxxx猛交 | 久草一级片 | 色性欧美 | 欧洲天堂网| 国产精品免费观看 |