1. 程式人生 > >一:android系統架構特點概述

一:android系統架構特點概述

v  基於linux作業系統,因此藉助LINUX作業系統對豐富硬體的支援,並且開源、成熟、效能穩定,並且是目前嵌入式系統的主流作業系統,具有大量的使用者和開發人員,因此ANDROID底層作業系統使用LINUX作業系統實在是一個明智之舉,即可以滿足廠商對別人程式碼開放及支援豐富硬體的需求,又能夠讓開發者沒有門檻的輕易介入,效能上也能夠滿足終端使用者的要求。

         v  為了保護廠商的智慧財產權,google實現了一層硬體抽象層(HAL), 為廠商開發自己的驅動提供了標準的介面,又無需開原始碼 。因為這個緣故linux 也把android驅動踢出了程式碼樹 。

         v  應用採用JAVA開發,這也是一個明智之舉,一是世界上有大量的JAVA開發者,因此有現成的JAVA基礎包(Data structures、Utilities、File access、 Network Access等) 和大量的開源擴充套件包可以利用,並且採用JAVA語言開發應用也比採用C/C++開發容易。而為了保護和利用原先C/C++程式設計師開發的程式碼,也支援採用NDK方式支援編譯 原先用C/C++語言開發的程式碼。而為了不與SUN的java虛擬機發生專利糾紛和效能考慮,android 的java虛擬機器採用了 Dalvik虛擬機器,一種基於暫存器方式的JAVA虛擬機器實現,具有高度CPU優化的位元組碼解釋程式,且以優化的.dex檔案格式執行,能夠高效的使用執行時記憶體。

         v  採用元件開發應用模式 ,並提供符合好萊塢設計原則的完善的框架方便應用元件的開發, 應用開發者只需象填空一樣實現框架提供的固定的回撥介面,讀取XML描述的資源就可以完成一個應用程式的開發,不用開發者自己維護應用的生命週期管理,因此更方便了開發者開發應用。

         v  應用資源和應用描述檔案與程式碼的分離,應用資源和應用描述檔案採用XML描述.因此應用可方便擴充套件,方便開發者。

         v  應用程式最終打包成一個APK檔案,方便應用程式的釋出.

         v  大量採用第三方開源或開放 程式碼

         v  基於WEBKIT和V8 引擎,4.0版本實現了chrome瀏覽器,支援HTML5 應用開發。

         v  基於BSD License的為嵌入系統優化過的C庫– bionic,也是基於效能和版權考慮。

         v  輕量級的SQLITE資料庫儲存,並提供content providers 元件方便應用層跨程序 使用,方便密集資料型別的應用開發。

         v  提供了統一的本地媒體播放框架。

         v  提供對OPENGL ES 、skia的支援, 因此可以支援開發2D/3D UI介面。

         v  影響效能的關鍵服務採用C++本地服務實現,如(媒體框架、 Audio Flinger、 surface Flinger)。