要說剖析,可能這個詞可能用的太大了,下面對Android系統(tǒng)的介紹也就是從我個人理解來講吧。
曾有人問我,Android是甚么?當(dāng)時這個問題問的我真的蒙了,我就簡單的回了1下:Android就是1個基于移動裝備的操作系統(tǒng)。時至本日,這個問題我才知道回答的太淺了,我想只有真實的做過開發(fā)以后,才能去回答這個問題。
那末Android究竟是甚么?我覺得Android就是用戶與裝備之間的1個接口,從Android的體系結(jié)構(gòu)來看,Android分為4層,所以可以說Android是1個連接裝備軟件塊,但是卻并不是是1些列組件的集合。
Android是1個移動開發(fā)平臺,其軟件層次結(jié)構(gòu)包括操作系統(tǒng)、中間件和利用程序,全部體系結(jié)構(gòu)從下到上分為4層:
linux內(nèi)核層包括了linux內(nèi)核和1些驅(qū)動模塊,比如說usb驅(qū)動、藍牙驅(qū)動、相機驅(qū)動等。
libraries層包括各種動態(tài)類庫(2D、3D圖象引擎、嵌入式http://www.jyygyx.com/db/、網(wǎng)絡(luò)閱讀器核心等)、Android運行時庫和dalvik虛擬機(dalvik虛擬機在Android4.4之前用的,在4.4以后用的是art),從編程語言角度來看,這1層主要是c/c++寫的,所以也能夠說這層是native層。
利用程序框架層,是1個利用程序的框架,用java語言寫的,是Android平臺上java語言的基石,所以這1層主要向利用層的開發(fā)者提供1些列的開發(fā)api,比如說各種ui控件等。
利用程序?qū)又饕怯脩艚缑妗ndroid系統(tǒng)本身自帶了1些利用,像聯(lián)系人、短信、音樂播放器等利用,但是Android開發(fā)者也能夠利用利用程序框架層的api開發(fā)出屬于自己的個性化利用,我覺得這是Android開源巨大潛力的1種表現(xiàn)。