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