> 。 應(yīng)用程序 Android 將會(huì)有一些核心的應(yīng)用,比如郵件客戶(hù)端、SMS程序、計(jì)算器、地圖、瀏覽器、聯(lián)系人等等。所有的應(yīng)用程序都用Java語(yǔ)言開(kāi)發(fā)。 應(yīng)用層 通過(guò)提供一個(gè)開(kāi)源的平臺(tái),Android可以讓開(kāi)發(fā)者自由的開(kāi)發(fā)豐富、創(chuàng)新的應(yīng)用程序。開(kāi)發(fā)者可以免費(fèi)利用設(shè)備的硬件,訪(fǎng)問(wèn)本地信息、啟動(dòng)后臺(tái)服務(wù)、設(shè)置鬧鈴、給狀態(tài)欄增加提醒功能,等等灰常多的應(yīng)用。 開(kāi)發(fā)人員通過(guò)核心應(yīng)用程序,可以完全訪(fǎng)問(wèn)同一框架的APIs。(?)[開(kāi)發(fā)者對(duì)于框架APIs的訪(fǎng)問(wèn)有與核心程序同樣的權(quán)限(樓下whyou指正,表示感謝)]。結(jié)構(gòu)化的應(yīng)用框架為了提高組件的客服用性而設(shè)計(jì)。任何程序都可以公布他的功能讓其他程序來(lái)調(diào)用(在框架許可的前提下)。相同的機(jī)制允許用戶(hù)替換掉某些功能。 和所有程序相關(guān)的是一些服務(wù)和系統(tǒng),包括: 一些豐富的可擴(kuò)展視圖:可以用來(lái)構(gòu)造應(yīng)用程序,包括列表、表格、輸入框、按鈕、可以寫(xiě)內(nèi)置的瀏覽器。 內(nèi)容提供:可以讓程序訪(fǎng)問(wèn)其他程序的數(shù)據(jù),例如聯(lián)系人列表,或者共享自己的數(shù)據(jù)。 資源管理器:提供訪(fǎng)問(wèn)非代碼的資源的方法,例如本地化的一些字符串、圖像、布局文件。 一個(gè)提示管理器:可以讓程序在狀態(tài)欄顯示自定義的提示信息。 一個(gè)Activity管理器:管理activity的生命周期并且提供一個(gè)公共的導(dǎo)航功能。 更多詳細(xì)信息可以通過(guò)一個(gè)例子來(lái)學(xué)習(xí):參考 Noteoad Tutorial。 Libraries: Android包含了一些系統(tǒng)各個(gè)部分使用到的C/C++庫(kù),通過(guò)Android應(yīng)用程序程序框架,這些功能對(duì)于開(kāi)發(fā)者來(lái)說(shuō)是公開(kāi)的,部分核心庫(kù)如下: 系統(tǒng)C庫(kù):一個(gè)繼承自BSD的標(biāo)準(zhǔn)C系統(tǒng)庫(kù),專(zhuān)門(mén)為了嵌入式Linux設(shè)為。 多媒體庫(kù):基于 PacketVideos OpenCORE庫(kù),支持播放和錄制一些主流的音頻視頻格式,像靜態(tài)圖片文件,包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG格式。 Surface Manager(圖形管理器):管理顯示子系統(tǒng),在多個(gè)應(yīng)用程序里無(wú)縫綜合2D和3D圖層。 LibWebCore:一個(gè)流行的web瀏覽器引擎,供Android瀏覽器和內(nèi)置的瀏覽view使用。 SGL:一個(gè)底層的2D圖像引擎。 3D庫(kù):基于OpenGL ES 1.0 的3D圖像引擎。包括硬件加速和優(yōu)化過(guò)的3D 軟件加速。 FreeType:位圖和矢量字體的渲染(rendering)。 SQLite:一個(gè)強(qiáng)大的輕量級(jí)的數(shù)據(jù)庫(kù)引擎對(duì)所有程序提供使用。 Android 運(yùn)行時(shí)庫(kù): Android包含了Java語(yǔ)言的大部分的核心庫(kù)。 每一個(gè)Android應(yīng)用程序運(yùn)行在自己的線(xiàn)程里,有自己的dalvik虛擬機(jī)實(shí)例,Dalvik虛擬機(jī)被重寫(xiě)用來(lái)支持在一個(gè)移動(dòng)設(shè)備上支持多個(gè)虛擬機(jī)。Dalvik虛擬機(jī)執(zhí)行文件(.dex)被優(yōu)化的內(nèi)存占用很小。VM是基于寄存器,并且通過(guò)Java語(yǔ)言編譯器運(yùn)行由class文件轉(zhuǎn)換的.dex文件,通過(guò)內(nèi)置的dx工具。 Dalvik虛擬機(jī)依賴(lài)Linux核心,來(lái)管理線(xiàn)程和底層的內(nèi)存管理。 Linux kernel: Android 依賴(lài)Linux2.6內(nèi)核作為核心系統(tǒng)服務(wù),像安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆、驅(qū)動(dòng)模型。Kernel扮演者一個(gè)軟硬件之間的抽象層的角色。
|