帶您探秘豐富多彩的Android多媒體世界
Android多媒體主要包括:平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,許多手機(jī)廠商都在紛紛的想用這個(gè)操作系統(tǒng),畢竟這款操作系統(tǒng)在市場上還是占一席之地的吧。
HTC(宏達(dá)電 多普達(dá))、摩托羅拉、索愛、三星等眾多公司紛紛推出基于Android智能操作系統(tǒng),甚至很多上網(wǎng)本也使用Android操作系統(tǒng)。目前Android是最熱門的智能操作系統(tǒng),憑借Linux的軟件優(yōu)勢其應(yīng)用的廣泛程度已經(jīng)讓其他對(duì)手相形見絀。所以學(xué)習(xí)Android操作系統(tǒng)具有巨大的意義。
各種庫(Libraries)和Android 運(yùn)行環(huán)境(RunTime)本層次對(duì)應(yīng)一般嵌入式系統(tǒng),相當(dāng)于中間件層次。Android的本層次分成兩個(gè)部分一個(gè)是各種庫,另一個(gè)是Android 運(yùn)行環(huán)境。本層的內(nèi)容。
大多是使用C++實(shí)現(xiàn)的。在其中,各種庫包括:C庫 :C語言的標(biāo)準(zhǔn)庫,這也是系統(tǒng)中一個(gè)最為底層的庫,C庫是通過Linux的系統(tǒng)調(diào)用來實(shí)現(xiàn)。多媒體框架(MediaFrameword):
這部分內(nèi)容是Android多媒體的核心部分,基于PacketVideo(即PV)的OpenCORE,從功能上本庫一共分為兩大部分,一個(gè)部分是音頻、視頻的回放(PlayBack),另一部分是則是音視頻的紀(jì)錄(Recorder)。
SGL:2D圖像引擎。SSL:即Secure Socket Layer位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。OpenGL ES 1.0 :本部分提供了對(duì)3D的支持。界面管理工具(Surface Management):本部分提供了對(duì)管理顯示子系統(tǒng)等功能。
SQLite:一個(gè)通用的嵌入式數(shù)據(jù)庫WebKit:網(wǎng)絡(luò)瀏覽器的核心FreeType:位圖和矢量字體的功能。Android多媒體的各種庫一般是以系統(tǒng)中間件的形式提供的,它們均有的一個(gè)顯著特點(diǎn)就是與移動(dòng)設(shè)備的平臺(tái)的應(yīng)用密切相關(guān)。
Android 運(yùn)行環(huán)境主要指的虛擬機(jī)技術(shù)——Dalvik。Dalvik虛擬機(jī)和一般JAVA虛擬機(jī)(Java VM)不同,它執(zhí)行的不是JAVA標(biāo)準(zhǔn)的字節(jié)碼(bytecode )而是Dalvik可執(zhí)行格式(.dex)中執(zhí)行文件。
在執(zhí)行的過程中,每一個(gè)應(yīng)用程序即一個(gè)進(jìn)程(Linux的一個(gè)Process)。 二者最大的區(qū)別在于Java VM是以基于棧的虛擬機(jī)(Stack-based)。而Dalvik是基于寄存器的虛擬機(jī)(Register-based)。顯然,后者最大的好處在于可以根據(jù)硬件實(shí)現(xiàn)更大的優(yōu)化,這更適合移動(dòng)設(shè)備的特點(diǎn)。#t#
現(xiàn)有編程語言均未專門對(duì)多核處理器進(jìn)行優(yōu)化。派克表示,Go就是谷歌工程師為這類程序編寫的一種語言。它不是針對(duì)編程初學(xué)者設(shè)計(jì)的,但學(xué)習(xí)使用它也不是非常困難。Go支持面向?qū)ο?,而且具有真正的封裝(closures)和反射(reflection)等功能。在學(xué)習(xí)曲線方面,派克認(rèn)為Go與Java類似,對(duì)于Java開發(fā)者來說,應(yīng)該能夠輕松學(xué)會(huì)Go。
之所以將Go作為一個(gè)開源項(xiàng)目發(fā)布,目的是讓開源社區(qū)有機(jī)會(huì)創(chuàng)建更好的工具來使用該語言,例如Eclipse IDE中的插件。目前還沒有支持Go的IDE。在目前谷歌公開發(fā)布的所有網(wǎng)絡(luò)應(yīng)用中,均沒有使用Go。但是谷歌已經(jīng)使用該語言開發(fā)了幾個(gè)內(nèi)部項(xiàng)目。
派克表示,Go是否會(huì)對(duì)谷歌即將推出的Chrome OS產(chǎn)生影響,現(xiàn)在還言之尚早,不過Go的確可以和Native Client配合使用。他表示,“Go可以讓應(yīng)用完美的運(yùn)行在瀏覽器內(nèi)。”例如,使用Go可以更高效的實(shí)現(xiàn)Wave,無論是在前端還是后臺(tái)。
Go 同時(shí)具有兩種編譯器,一種是建立在GCC基礎(chǔ)上的Gccgo,另外一種是分別針對(duì)64位x86和32位x86計(jì)算機(jī)的一套編譯器(6g和8g)。谷歌目前正在研發(fā)其對(duì)ARM芯片和Android設(shè)備的支持。派克表示,“Android多媒體存在的問題是,我們一直沒有一個(gè)數(shù)字協(xié)處理器。”


















