最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第一章 概述(Android四層體系結(jié)構(gòu))

2018-11-02 13:12 作者:swiss126  | 我要投稿

第一章 概述(Android四層體系結(jié)構(gòu))

參考資料:

Android應(yīng)用程序開發(fā)》ISBN 9787302283164

參考軟件:

Android Studio、Eclipse+ADT、Android SDK、JDK

Android特性

? 應(yīng)用程序框架支持組件的重用與替換
??Dalvik 虛擬機(jī)專為移動(dòng)設(shè)備優(yōu)化
? 集成的瀏覽器基于開源的WebKit 引擎
? 優(yōu)化的圖形庫包括定制的2D 圖形庫,基于OpenGL ES 1.0的3D 圖形庫
??SQLite?用作結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)
? 多媒體支持包括常見的音頻、視頻和靜態(tài)圖像格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG , GIF)
? GSM 電話技術(shù)(依賴于硬件)
? 藍(lán)牙Bluetooth, EDGE, 3G, 和WiFi(依賴于硬件)
? 照相機(jī),GPS,指南針,和加速度計(jì)(accelerometer)(依賴于硬件)
? 豐富的開發(fā)環(huán)境包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和Eclipse 集成開發(fā)環(huán)境插件

Android體系結(jié)構(gòu)

1、Android體系結(jié)構(gòu)

(1)Android本身是一套軟件堆棧(或稱為軟件層疊架構(gòu)),它包含三部分:操作系統(tǒng)、中間件、應(yīng)用程序。AndroidSDK提供了完備的工具和API,供開發(fā)人員在Android平臺(tái)上使用Java開發(fā)應(yīng)用程序。?

(2)何為軟件堆棧?首先要知道堆棧是什么,堆棧的實(shí)現(xiàn)思想是先進(jìn)后出(FILO),也就是說棧底的東西是最先進(jìn)來的,棧底是封死的,只能進(jìn)去而不能出來;而棧頂?shù)臇|西都是最后進(jìn)來的,由于不是封死的,所以它是朝著棧底方向挪移。將這個(gè)堆棧概念提升為軟件堆棧,假設(shè)地說,棧底就是操作系統(tǒng),棧頂就是實(shí)際的應(yīng)用程序。換句話說就是軟件之間的一種層疊的架構(gòu),一層疊一層,最底層的當(dāng)然還是操作系統(tǒng)。?

(3)Android架構(gòu)體系:?

2、各層介紹

(1)Linux Kernel

? ? ? ? ?Google選擇了Linux作為Android的底層支撐系統(tǒng)。當(dāng)前的 Android系統(tǒng)是基于Linux2.6內(nèi)核,其核心系統(tǒng)服務(wù)如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)路協(xié)議以及驅(qū)動(dòng)模型都依賴于Linux內(nèi)核。

(2)Android Runtime

?運(yùn)行時(shí)環(huán)境可分為核心庫和Dalvik虛擬機(jī)兩部分。

核心庫提供了Java語言API中的大多數(shù)功能,同時(shí)也包含了Android的一些核心API,如android.os、android.net、android.media等等。

Dalvik是Google公司自己設(shè)計(jì)用于Android平臺(tái)的虛擬機(jī),它可以簡單的完成進(jìn)程隔離和線程管理,并且可以提高內(nèi)存的使用效率。

Dalvik和標(biāo)準(zhǔn)Java虛擬機(jī)(JVM)首要差別

Dalvik 基于寄存器,而 JVM 基于棧。

基于寄存器的虛擬機(jī)對(duì)于編譯后變大的程序來說,在它們執(zhí)行的時(shí)候,花費(fèi)的時(shí)間更短。(Also of register-based VMs allow faster execution times at the expense of programs which are larger after compilation.)

*Dalvik和Java運(yùn)行環(huán)境的區(qū)別

1:Dalvik主要是完成對(duì)象生命周期管理,堆棧管理,線程管理,安全和異常管理,以及垃圾回收等等重要功能

2:Dalvik負(fù)責(zé)進(jìn)程隔離和線程管理,每一個(gè)Android應(yīng)用在底層都會(huì)對(duì)應(yīng)一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例,其代碼在虛擬機(jī)的解釋下得以執(zhí)行。

3:不同于Java虛擬機(jī)運(yùn)行java字節(jié)碼,Dalvik虛擬機(jī)運(yùn)行的是其專有的文件格式Dex

4:dex文件格式可以減少整體文件尺寸,提高I/o操作的類查找速度。

5:odex是為了在運(yùn)行過程中進(jìn)一步提高性能,對(duì)dex文件的進(jìn)一步優(yōu)化。

6:所有的Android應(yīng)用的線程都對(duì)應(yīng)一個(gè)Linux線程,虛擬機(jī)因而可以更多的依賴操作系統(tǒng)的線程調(diào)度和管理機(jī)制

7:有一個(gè)特殊的虛擬機(jī)進(jìn)程Zygote,他是虛擬機(jī)實(shí)例的孵化器。它在系統(tǒng)啟動(dòng)的時(shí)候就會(huì)產(chǎn)生,它會(huì)完成虛擬機(jī)的初始化,庫的加載,預(yù)制類庫和初始化的操作。如果系統(tǒng)需要一個(gè)新的虛擬機(jī)實(shí)例,它會(huì)迅速復(fù)制自身,以最快的數(shù)據(jù)提供給系統(tǒng)。對(duì)于一些只讀的系統(tǒng)庫,所有虛擬機(jī)實(shí)例都和Zygote共享一塊內(nèi)存區(qū)域。

(3)Libraries

系統(tǒng)庫是應(yīng)用程序框架的支撐,是連接應(yīng)用程序框架層與Linux內(nèi)核層的重要紐帶。其主要包含以下幾個(gè)部分:

SurfaceManager:執(zhí)行多個(gè)應(yīng)用程序時(shí)候,負(fù)責(zé)管理顯示與存取操作間的互動(dòng),另外也負(fù)責(zé)2D繪圖與3D繪圖進(jìn)行顯示合成。

MediaFramework:多媒體庫,支持多種常用的音頻、視頻格式錄制和回放,編碼格式包括MPEG4、MP3、H 264、AAC、ARM。

SQLite:輕量級(jí)的關(guān)系型數(shù)據(jù)庫引擎

OpenGL|ES:根據(jù)OpenGL ES1.0 API標(biāo)準(zhǔn)實(shí)現(xiàn)的3D繪圖函數(shù)庫

FreeType:提供點(diǎn)陣字與向量字的描繪與顯示

WebKit:開源的瀏覽器引擎,支持CSS,JAVASCRIPT,DOM等腳本語言

SGL:底層的2D圖形渲染引擎

SSL:在Andorid上通信過程中實(shí)現(xiàn)安全認(rèn)證

Libc:從BSD繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫,專門為基于embeddedlinux的設(shè)備定制

(4)Applications

? ?應(yīng)用程序框架層是開發(fā)者從事Android應(yīng)用開發(fā)的基礎(chǔ),很多核心應(yīng)用程序也是通過這一層來實(shí)現(xiàn)其核心功能,該層簡化了組件的重用,開發(fā)人員可以直接使用它提供的組件進(jìn)行快速的應(yīng)用程序開發(fā),也可以通過繼承而實(shí)現(xiàn)個(gè)性化的拓展。以下是這次層中,各個(gè)部分的功能:

? ? ? ?Activity Manager(活動(dòng)管理器):管理各個(gè)應(yīng)用程序生命周期以及通常的導(dǎo)航回退功能。

? ? ? ?Window Manager(窗口管理器):管理所有的窗口程序

? ? ? ?Content Provider(內(nèi)容提供器):通過它可以在不同應(yīng)用程序之間存取或者分享數(shù)據(jù)

? ? ? ?View System(視圖系統(tǒng)):構(gòu)建應(yīng)用程序的基本組件

? ? ? ?Notification Manager(通知管理器):通過它應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息

? ? ? ?Package Manager(包管理器):Android系統(tǒng)內(nèi)的程序管理,可以查看Android應(yīng)用程序以及Activity的相關(guān)信息

? ? ? ?Telephony Manager(電話管理器):管理所有的移動(dòng)設(shè)備功能

? ? ? ?Resource Manager(資源管理器):提供應(yīng)用程序使用的各種非代碼資源,如本地化字符串、圖片、布局文件、顏色文件,主題樣式,二進(jìn)制文件等

? ? ? ?Location Manager(位置管理器):提供位置服務(wù)

? ? ? ?XMPP Service(XMPP服務(wù)):提供Google Talk服務(wù)

重點(diǎn):Android四層體系結(jié)構(gòu),Dalvik 虛擬機(jī)與JVM的區(qū)別,dex文件,SQLite數(shù)據(jù)庫



第一章 概述(Android四層體系結(jié)構(gòu))的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
五家渠市| 柳河县| 东丽区| 清丰县| 宜良县| 会理县| 临武县| 舒城县| 丰宁| 金湖县| 稷山县| 中宁县| 乐安县| 元江| 三门县| 盈江县| 通道| 融水| 娱乐| 祁门县| 寿光市| 伊川县| 德昌县| 辽阳市| 鄂尔多斯市| 大邑县| 阜平县| 博野县| 乌苏市| 玉门市| 仁布县| 嵩明县| 连山| 建昌县| 平江县| 秦皇岛市| 吴川市| 江华| 车致| 富川| 子洲县|