Android開發技巧:軟硬件的巧妙整合
解構Android基本技術架構
首先我們先來看到Android的基本技術架構,Android是以Linux為核心,并采用軟件堆迭(software stack)的架構延伸發展的一套軟件平臺與操作系統。根據下圖可以看出,其基本架構分為五層:
*Android Structure by Google
·Linux核心(Linux Kernel):以Linux開發提供最底層的核心系統服務,包括安全性(Security)、存儲器管理(Memory Management)、進程管理(Process Management)、網路堆迭(Network Stack)與驅動程序模型(Driver Model)。
·Android執行環境(Android Runtime):透過Core Libraries(核心函式庫)以及暫存器型態的Dalvik Virtual Machine(Dalvik虛擬機器)來執行程序。
·系統函式庫(Library):使用C/C++函式庫的系統組件以供呼叫使用,開發者可透過上層的應用程序框架來運用這些功能,這也是主要Android設備的效能關鍵。
·應用程序框架(Application Framework):被設計來簡化組件的再運用,開發者能完整存取使用與核心應用程序(Core Application)相同的API,應用程序可以發布功能并為其它應用程序所使用(需受限于其安全性限制),開發者也可運用同樣的機制來新增與置換組件。
·應用程序(Application):所有Android應用程序皆是以Java程序語言編寫,原始就會包含像是Email、簡訊、日歷、地圖、瀏覽器、聯絡人等其它應用程序,讓用戶一開始就擁有這些基本功能,開發者也可在此客制其使用接口。
廠商越想要設計出與原始設定不同且增強效能的產品,便越需要對這五層架構進行修改。譬如像是多任務處理能力(multi-tasking),便可能需要修改包括Linux核心與應用程序框架的設計;而應用程序的開發者更可能需要針對應用程序與框架進行調整。由此可見,對Android設備而言,任何一個功能的置入或是對硬件設定的細微更動,都需要對Android系統進行從下到上的調整以達到最優化的效能,而這正是最為困難與需要驗證的一環。
評論