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