Android基礎知識學習
新手上路,還請多多幫助。由於初學,博客內容難免有不正確的地方,還請各位多多指教,相互學習!
主要內容:
1、Android層次架構及主要功能
2、Android編程模型,程序執行流程
由於國內Android系統很流行,大多數使用的智能機都是Android系統,對於學習Android系統編程的新手來說,了解Android系統框架層次很有必要。Android開發主要用Java語言,因此在學習之前,可以先了學習Java的基本知識,關於Java的內容大家就自己找書,找視頻學習了。
一、Android系統架構
Android系統主要分為四層,從上往下依次是:應用層(Application)、應用框架層(Application Framework)、系統類庫層(System Library)、系統核心層(System Core/Kernel)。
圖1. Android系統框圖 圖2. Android系統框圖
下面簡單介紹下各層的主要作用:
- 應用層:運行於Android虛擬機上的程序 ,也就是作為開發人員開發的APP應用。應用層里,主要通過Android提供的組件與Android的API進行開發。
- 應用框架層:是Android應用開發的核心,提供了開發所必須的各種基礎API框架。
- 系統類庫層:為了支持上層應用,Android系統通過本層中的一些C/C++庫來支持我們所使用的各個模塊或組件。
- 系統內核層:主要實現文件系統,內存管理,進程調度,進程間通信,電源管理及驅動等功能。
二、Android系統應用程序編程模型
了解了Android系統的結構之后,再看看Android應用程序的執行流程。
圖3. 傳統平台 圖4. Android平台
傳統編程,操作系統啟動應用程序使用單一入口,通常是main函數,操作系統負責把程序代碼加載到進程中,然后開始執行它。
Android系統編程,支持多個應用入口,Android系統會假定,程序會在不同的地方啟動它們。引入了虛擬機,保證程序在各個層次,正常的啟動流程之內、之外都能啟動,程序之間更像是一組組件,是相互協調配合的關系。
圖5. 傳統Java程序執行流程 圖6. Android程序執行流程
總結:
以上簡單介紹了Android的系統框架及應用的編譯執行過程,希望對大家學習Android會有幫助。主要是對幾幅圖有個深刻印象就好,在以后開發過程中知道自己調用了哪些組件,處在什么Android系統的什么層次,有個清晰的思路。
參考:
1.《Android SDK程序設計與開發范例》 清華大學出版社
2.《Android程序設計》 O‘REILLY / 機械工業出版社
3.《Android和PHP開發最佳實踐》 機械工業出版社
其他:Android教學視頻,安卓開發社區,網絡資料 ... ...