<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > Android開發(fā)技巧:軟硬件的巧妙整合

          Android開發(fā)技巧:軟硬件的巧妙整合

          作者: 時間:2011-02-22 來源:網(wǎng)絡(luò) 收藏

          解構(gòu)基本技術(shù)架構(gòu)

          首先我們先來看到的基本技術(shù)架構(gòu),是以Linux為核心,并采用軟件堆迭(software stack)的架構(gòu)延伸發(fā)展的一套軟件平臺與操作系統(tǒng)。根據(jù)下圖可以看出,其基本架構(gòu)分為五層:

          Android Structure by Google

          Android開發(fā)技巧:軟硬件的巧妙整合(電子工程專輯)

          ·Linux核心(Linux Kernel):以Linux開發(fā)提供最底層的核心系統(tǒng)服務(wù),包括安全性(Security)、存儲器管理(Memory Management)、進(jìn)程管理(Process Management)、網(wǎng)路堆迭(Network Stack)與驅(qū)動程序模型(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ā)者可透過上層的應(yīng)用程序框架來運用這些功能,這也是主要Android設(shè)備的效能關(guān)鍵。

          ·應(yīng)用程序框架(Application Framework):被設(shè)計來簡化組件的再運用,開發(fā)者能完整存取使用與核心應(yīng)用程序(Core Application)相同的API,應(yīng)用程序可以發(fā)布功能并為其它應(yīng)用程序所使用(需受限于其安全性限制),開發(fā)者也可運用同樣的機制來新增與置換組件。

          ·應(yīng)用程序(Application):所有Android應(yīng)用程序皆是以Java程序語言編寫,原始就會包含像是Email、簡訊、日歷、地圖、瀏覽器、聯(lián)絡(luò)人等其它應(yīng)用程序,讓用戶一開始就擁有這些基本功能,開發(fā)者也可在此客制其使用接口。

          廠商越想要設(shè)計出與原始設(shè)定不同且增強效能的產(chǎn)品,便越需要對這五層架構(gòu)進(jìn)行修改。譬如像是多任務(wù)處理能力(multi-tasking),便可能需要修改包括Linux核心與應(yīng)用程序框架的設(shè)計;而應(yīng)用程序的開發(fā)者更可能需要針對應(yīng)用程序與框架進(jìn)行調(diào)整。由此可見,對Android設(shè)備而言,任何一個功能的置入或是對硬件設(shè)定的細(xì)微更動,都需要對Android系統(tǒng)進(jìn)行從下到上的調(diào)整以達(dá)到最優(yōu)化的效能,而這正是最為困難與需要驗證的一環(huán)。



          關(guān)鍵詞: Android 黑莓機 軟硬件整合

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();