官术网_书友最值得收藏!

1.2 And roid架構

無論是從事Android哪個層面的開發和學習,都應該熟悉圖1-1所示的Android架構圖,這樣才能對整個Android系統有所了解。

圖1-1 Android架構

1.Linux Kernel(Linux內核)

Android系統是基于Linux操作系統之上的,采用Linux內核,Android很多底層管理,如安全性、內存管理、進程管理、網絡協議棧和驅動模型等管理是依賴于Linux。Linux內核也是硬件和軟件之間的硬件抽象層。運行于Android中的Linux是經過裁剪的,適合于低能耗的移動設備。

2.Libraries(本地庫)

Android本地庫包括一個被Android系統中各種組件所使用的C/C++庫集。該庫通過Android應用程序框架為開發者提供服務。這些庫很多都不是在Android系統下編寫的,大部分都是開源的庫。

? OpenGL ES:開發3D圖形技術。

? SQLite:嵌入式數據庫。

? WebKit:Web瀏覽器引擎。

? Media Framework:支持音頻視頻解碼,音頻視頻錄制等。

? Surface Manager:Android平臺繪制窗口和控件,以及繪制一些圖形和視頻輸出等。

3.Android Runtime(Android運行時)

雖然Android應用程序是用Java編寫的,但卻不是使用Java Runtime來執行程序,而是自行研發Android Runtime來執行程序。Runtime(運行時環境)主要是由兩部分組件組成——Core Libraries(核心庫)和VM(虛擬機)。JVM是由Sun開發的(現在是Oracle公司),由于版權問題谷歌自己編寫了VM,即Dalvik Virtual Machine(Dalvik VM)。編寫Dalvik VM除了版權的問題,更重要的是Dalvik VM是為低耗能、低內存等手持移動設備而設計的,在一臺設備上可以運行多個實例。Dalvik VM對于很多底層處理還要依賴于Linux操作系統。

4.Application Framework(應用程序框架)

Android應用程序框架提供了一套開發Android應用的API,其中包括:

? View System:一套用戶圖形界面開發組件,如Button、對話框等。

? ActivityManager:管理Activity的周期等。

? Content Providers:管理數據共享。

? Resource Manager:管理資源文件,如國際化、布局文件等。

? Location Manager:管理定位服務。

? TelephonyManager:管理電話服務。

5.Application(應用程序)

應用程序開發,在這里可以是自動編寫的應用程序、第三方開發的應用程序和谷歌自帶的應用程序,如通訊錄、短信息、瀏覽器等。一個應用可以全部用Java語言編寫,也可以是用Java編寫一部分,再用C或C++編寫一部分,然后使用Java JNI技術調用。例如,對于一個游戲應用程序,為了提高速度,有些處理使用C或C++編寫,再用JNI調用。不要簡單地認為所有應用都一定是Java語言編寫的。

主站蜘蛛池模板: 沙雅县| 玛曲县| 五家渠市| 福贡县| 宜章县| 香河县| 西乌珠穆沁旗| 纳雍县| 卢湾区| 邓州市| 横山县| 府谷县| 惠来县| 沙坪坝区| 张北县| 翁牛特旗| 康平县| 布尔津县| 滦平县| 健康| 镇坪县| 清远市| 贡觉县| 旌德县| 武安市| 商南县| 宜昌市| 灵石县| 花垣县| 卢湾区| 黄龙县| 丹阳市| 庆元县| 光泽县| 苏尼特左旗| 通州市| 张掖市| 台江县| 大厂| 阿拉善右旗| 永州市|