資源描述:
《android系統(tǒng)詳細(xì)介紹》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、android系統(tǒng)詳細(xì)介紹你對這個小機(jī)器人了解多少呢?系統(tǒng)簡介Android是基于Linux開放性內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)。早期由原名為"Android"的公司開發(fā),谷歌在2005年收購"Android.Inc"后,繼續(xù)進(jìn)行對Android系統(tǒng)開發(fā)運營,它采用了軟件堆層(softwarestack,又名軟件疊層)的架構(gòu),主要分為三部分。底層Linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以Java編寫。2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)Android已經(jīng)超越稱霸十年的塞班系統(tǒng),使之躍居全球最受歡迎的智能手
2、機(jī)平臺?,F(xiàn)在,Android系統(tǒng)不但應(yīng)用于智能手機(jī),也在平板電腦市場急速擴(kuò)張。采用Android系統(tǒng)主要廠商包括臺灣的HTC,(第一臺谷歌的手機(jī)G1由HTC生產(chǎn)代工)美國摩托羅拉,SE等,中國大陸廠商如:華為、中興、聯(lián)想等。系統(tǒng)架構(gòu)應(yīng)用程序Android以Java為編程語言,從接口到功能,都有層出不窮的變化,其中Activity等同于J2ME的MIDlet,一個Activity類(class)負(fù)責(zé)創(chuàng)建視窗(window),一個活動中的Activity就是在foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結(jié),達(dá)到
3、復(fù)數(shù)程序同時運行的效果。如果運行中的Activity全部畫面被其他Activity取代時,該Activity便被停止(stopped),甚至被系統(tǒng)清除(kill)。View等同于J2ME的Displayable,程序人員可以通過View類與“XMLlayout”檔將UI放置在視窗上,Android1.5的版本可以利用View打造出所謂的Widgets,其實Widget只是View的一種,所以可以使用xml來設(shè)計layout,HTC的AndroidHero手機(jī)即含有大量的widget。至于ViewGroup是各種layout的基礎(chǔ)抽象類(abstractclass),ViewGroup之內(nèi)還
4、可以有ViewGroup。View的構(gòu)造函數(shù)不需要再Activity中調(diào)用,但是Displayable的是必須的,在Activity中,要通過findViewById()來從XML中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View與事件(event)息息相關(guān),兩者之間通過Listener結(jié)合在一起,每一個View都可以注冊一個eventlistener,例如:當(dāng)View要處理用戶觸碰(touch)的事件時,就要向Android框架注冊View.OnClickListener。另外還有Image等同于J2ME的BitMap。中介軟件操作系統(tǒng)與應(yīng)用程序的溝通
5、橋梁,應(yīng)用分為兩層:函數(shù)層(Library)和虛擬機(jī)(VirtualMachine)。Bionic是Android改良libc的版本。Android同時包含了Webkit,所謂的Webkit就是AppleSafari瀏覽器背后的引擎。Surfaceflinger是就2D或3D的內(nèi)容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自制的BionicLibc。Android采用OpenCORE作為基礎(chǔ)多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideoMultimediaFramework(PVMF)、Oper
6、atingSystemCompatibilityLibrary(OSCL)、Common、OpenMAX。Android使用skia為核心圖形引擎,搭配OpenGL/ES。skia與LinuxCairo功能相當(dāng),但相較于LinuxCairo,skia功能還只是雛形的。2005年Skia公司被Google收購,2007年初,SkiaGL源碼被公開,目前Skia也是GoogleChrome的圖形引擎。 Android的多媒體數(shù)據(jù)庫采用SQLite數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫又分為共用數(shù)據(jù)庫及私用數(shù)據(jù)庫。用戶可通過ContentResolver類(Column)取得共用數(shù)據(jù)庫?! ndroid的中間層
7、多以Java實現(xiàn),并且采用特殊的Dalvik虛擬機(jī)(DalvikVirtualMachine)。Dalvik虛擬機(jī)是一種“暫存器型態(tài)”(RegisterBased)的Java虛擬機(jī),變量皆存放于暫存器中,虛擬機(jī)的指令相對減少。Dalvik虛擬機(jī)可以有多個實例(instance),每個Android應(yīng)用程序都用一個自屬的Dalvik虛擬機(jī)來運行,讓系統(tǒng)在運行程序時可達(dá)到優(yōu)化。Dalvik虛擬機(jī)并非運行Java字節(jié)碼(Byt