由於我想比較成體系的來描述或者說記錄Android的開發。故而就還是按照書中的排版來進行做筆記。
一. Android
大致可以分爲四層架構: Linux
內核層、系統運行庫層、應用框架層和應用層。
-
Linux
內核層Android
系統是基於Linux
內核的,這一層爲Android
設備的各種硬件提供了底層的驅動,如:顯示驅動、音頻驅動、照相機驅動、藍牙驅動、Wi-Fi
驅動、電源管理等。 -
系統運行庫層
這一層通過一-些C/C++
庫來爲Android
系統提供了主要的特性支持。如SQLite
庫提供了數據庫的支持,OpenGLES
庫提供了3D
繪圖的支持,Webkit
庫提供了瀏覽器內核的支持等。同樣在這一-層還有Android
運行時庫,它主要提供了-些核心庫,能夠允許開發者使用Java
語言來編寫Android
應用。
另外,Android
運行時庫中還包含了Dalvik
虛擬機( 5.0系統之後改爲ART
運行環境),它使得每一個Android
應用都能運行在獨立的進程當中,並且擁有一個自己的Dalvik
虛擬機實例。相較於Java
虛擬機,Dalvik
是專門爲移動設備定製的,它針對手機內存、CPU
性能有限等情況做了優化處理。 -
應用框架層
這一層主要提供了構建應用程序時