2015-12-22 18:02:11 14748瀏覽
Android的系統(tǒng)運(yùn)行庫(kù)層由兩部分組成,一個(gè)是系統(tǒng)庫(kù),另一個(gè)是Android運(yùn)行時(shí)。本文主要介紹這兩部分知識(shí)。Android包含一套C/C++庫(kù),Android系統(tǒng)的各個(gè)組件都在使用,這些功能是通過(guò)Android應(yīng)用框架暴露給Android開(kāi)發(fā)人員的。系統(tǒng)庫(kù)是應(yīng)用程序框架的支撐,是連接應(yīng)用程序框架層與Linux內(nèi)核層的重要紐帶。其主要核心庫(kù)包括以下幾部分。而Android應(yīng)用程序時(shí)采用Java語(yǔ)言編寫,程序在Android運(yùn)行時(shí)中執(zhí)行,其運(yùn)行時(shí)分為核心庫(kù)和Dalvik虛擬機(jī)兩部分。
一、系統(tǒng)庫(kù)
1、Libc—系統(tǒng)c庫(kù)。一個(gè)從BSD繼承來(lái)的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(kù),專門為基于EmbeddedLinux的設(shè)備定制。
2、Media Framework—多媒體庫(kù)。Android系統(tǒng)多媒體庫(kù),基于PacketVideoOpen、CORE。該庫(kù)支持錄放.并且可以錄制許多流行的音頻視頻格式.還有靜態(tài)映像文件,包括MPEG4、H.264、MP3、AAC、JPG、PNG等。
3、Surface Manager。主要負(fù)責(zé)管理針對(duì)顯示系統(tǒng)的訪問(wèn),并且為多個(gè)應(yīng)用程序提供2D和3D圖層的無(wú)縫融合。
4、Webkit瀏覽器。一個(gè)最新的web瀏覽器引擎,用來(lái)支持Android瀏覽器和一個(gè)可嵌入的Web視圖。
5、SGL。一個(gè)內(nèi)置的2D圖形引擎。
6、SSL。位于TCP/IP與各種應(yīng)用層協(xié)議之間.為數(shù)據(jù)通信提供支持。
7、OpenGL ES。3D效果的支持?;贠penGLES 1.0 APIs實(shí)現(xiàn);該庫(kù)可以使用硬件3D加速或者使用高度優(yōu)化的3D軟加速。
8、greeType。提供位圖bitmap和向量vector的字體描述與顯示。
9、SQLite。一個(gè)對(duì)于所有應(yīng)用程序可用、功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫(kù)引擎。
二、Android運(yùn)行時(shí)
1、核心庫(kù)。核心庫(kù)提供了Java語(yǔ)言API中的大多數(shù)功能,同時(shí)也包含Android的一些核心API.如android.OS、android.net、android.media等。
2、Dalvik虛擬機(jī)。Android程序不同于J2ME程序,每個(gè)Android應(yīng)用都運(yùn)行在自己的進(jìn)程上,享有Dalvik虛擬機(jī)為它分配的專有實(shí)例,并在該實(shí)例中執(zhí)行。Dalvik虛擬機(jī)是一種基于寄存器的Java虛擬機(jī),而不是傳統(tǒng)的基于棧的虛擬機(jī),并進(jìn)行了內(nèi)存資源使用的優(yōu)化以及支持多個(gè)虛擬機(jī)的特點(diǎn)。Java編譯器將Java源文件轉(zhuǎn)為class文件,class文件又被內(nèi)置的dx[具轉(zhuǎn)化為dex格式文件.該格式文件針對(duì)最小內(nèi)存使用做了優(yōu)化.這種文件在Dalvik虛擬機(jī)上注冊(cè)并運(yùn)行。在一些底層功能方面,例如線程和低內(nèi)存管理等.Dalvik虛擬機(jī)是依賴Linux內(nèi)核的。
Android的系統(tǒng)運(yùn)行庫(kù)層對(duì)于開(kāi)發(fā)者而言是一個(gè)需要特別重視的知識(shí)點(diǎn),扣丁學(xué)堂Android開(kāi)發(fā)入門與實(shí)戰(zhàn)課程中對(duì)其有重點(diǎn)講解,感興趣的讀者可以在線免費(fèi)觀看視頻。
查看更多關(guān)于“Android資訊”的相關(guān)文章>>