隨著科技的快速演進,,現(xiàn)代人對行動通訊,、無線上網(wǎng)與多媒體娛樂的需求更甚以往,所謂的智能型手機(Smart Phone)便成了炙手可熱的個人消費電子產(chǎn)品之一,,從Apple不斷推出iPhone企圖顛覆消費者對手機的想象、RIM推出主打商務(wù)功能的黑莓機,、Google的Android" title="Android">Android系統(tǒng)讓眾家手機廠商爭食大餅,,到微軟屢敗屢戰(zhàn)的從WinMo一路開發(fā)到WP7,智能型手機的這塊戰(zhàn)場可說是打的如火如荼,。然而在這些眾家競爭者中,,Android可說是目前行情看俏的一套操作系統(tǒng),,以國際市調(diào)研究機構(gòu)Gartner最新出爐2010年第三季的調(diào)查為例,采用Android操作系統(tǒng)的智能型手機在過去一年以來成長幅度最高,,光是市占率便是前一年同期的七倍之多,,銷售量更是達到14倍的成長,同時也一舉從市占率排名的第六名竄升到第二名,。而在今年一月份甫落幕的國際消費性電子展(CES),,也處處可見各式各樣采用Android操作系統(tǒng)的產(chǎn)品。
Android在過去一直扮演后起之秀的角色,,切入智能型手機的速度似乎慢了蘋果的iOS" title="iOS">iOS一步,,但與Apple相同的是,它也成功的將其應(yīng)用從手機移植到了平板計算機(Tablet PC)上,。Android開放原始碼(Open Source)的特性,,能輕易地提高廠商對自家產(chǎn)品的接受度,更不用提背后Google的強力撐腰能帶來多大的經(jīng)濟效益,。目前可見包括手機廠商HTC,、Motorola、SAMSUNG,,以及計算機大廠HP與Dell等皆投向Android的懷抱,,Android被廣泛應(yīng)用可說是勢在必行。
盡管Android系統(tǒng)的普及看似指日可待,,但在實際的產(chǎn)品應(yīng)用上,,也有其可能產(chǎn)生的問題風(fēng)險。Android作為一個開放式的操作系統(tǒng),,是Google提供廠商的操作系統(tǒng)參考架構(gòu)(reference design),,廠商能有充足的發(fā)揮空間,以Android為基礎(chǔ)向上開發(fā)設(shè)計自家產(chǎn)品,,但也因為這樣的開放性與自由性,,讓廠商在軟硬件結(jié)合的這個環(huán)節(jié)必須下更大的功夫,像是如何挑選合適的硬件包括基頻處理器,、通訊芯片,、觸控感應(yīng)芯片、天線與內(nèi)存模塊等,,以及如何調(diào)整出最適當(dāng)?shù)能浖O(shè)定等,,更重要的是如何將軟硬件整合,開發(fā)出差異化的產(chǎn)品,。這中間所有的細節(jié)都會對產(chǎn)品最終樣貌產(chǎn)生莫大的影響,,像是其功能的完整度、使用接口的設(shè)計,、效能表現(xiàn)(例如觸控滑動畫面,、開啟程序所需時間),、品質(zhì)可靠度、甚至是后續(xù)的韌體升級動作等等,。在此百佳泰便試圖以專業(yè)中立的測試實驗室角度,,來點出廠商應(yīng)用Android于手機、平板計算機或其它裝置時應(yīng)注意的開發(fā)重點,,以希冀作為一個有效的參考信息,。
解構(gòu)Android基本技術(shù)架構(gòu)
首先我們先來看到Android的基本技術(shù)架構(gòu),Android是以Linux為核心,,并采用軟件堆棧(software stack)的架構(gòu)延伸發(fā)展的一套軟件平臺與操作系統(tǒng),。根據(jù)下圖可以看出,其基本架構(gòu)分為五層:
· Linux核心(Linux Kernel):以Linux開發(fā)提供最底層的核心系統(tǒng)服務(wù),,包括安全性 (Security),、內(nèi)存管理(Memory Management)、進程管理(Process Management),、網(wǎng)絡(luò)堆棧(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裝置的效能關(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)進行修改。譬如像是多任務(wù)處理能力(multi-tasking),,便可能需要修改包括Linux核心與應(yīng)用程序框架的設(shè)計,;而應(yīng)用程序的開發(fā)者更可能需要針對應(yīng)用程序與框架進行調(diào)整。由此可見,,對Android裝置而言,,任何一個功能的置入或是對硬件設(shè)定的細微更動,都需要對Android系統(tǒng)進行從下到上的調(diào)整以達到最優(yōu)化的效能,,而這正是最為困難與需要驗證的一環(huán),。
Android裝置軟硬件整合的五大技術(shù)環(huán)節(jié)
如前所述,對眾家開發(fā)廠商而言最大的挑戰(zhàn)其實在于,,如何將自己理想的產(chǎn)品訴求,,與Android系統(tǒng)巧妙結(jié)合成一個功能完整并使用流暢順手的產(chǎn)品,這其中牽涉了不同技術(shù)間的整合與運用,。在此我們便根據(jù)其多年的測試與研究經(jīng)驗,,歸納出五大Android相關(guān)裝置在技術(shù)整合上的重要環(huán)節(jié):
隨著科技的快速演進,現(xiàn)代人對行動通訊,、無線上網(wǎng)與多媒體娛樂的需求更甚以往,,所謂的智能型手機(Smart Phone)便成了炙手可熱的個人消費電子產(chǎn)品之一,從Apple不斷推出iPhone企圖顛覆消費者對手機的想象,、RIM推出主打商務(wù)功能的黑莓機,、Google的Android系統(tǒng)讓眾家手機廠商爭食大餅,到微軟屢敗屢戰(zhàn)的從WinMo一路開發(fā)到WP7,,智能型手機的這塊戰(zhàn)場可說是打的如火如荼,。然而在這些眾家競爭者中,Android可說是目前行情看俏的一套操作系統(tǒng),,以國際市調(diào)研究機構(gòu)Gartner最新出爐2010年第三季的調(diào)查為例,,采用Android操作系統(tǒng)的智能型手機在過去一年以來成長幅度最高,光是市占率便是前一年同期的七倍之多,,銷售量更是達到14倍的成長,,同時也一舉從市占率排名的第六名竄升到第二名。而在今年一月份甫落幕的國際消費性電子展(CES),,也處處可見各式各樣采用Android操作系統(tǒng)的產(chǎn)品,。
Android在過去一直扮演后起之秀的角色,切入智能型手機的速度似乎慢了蘋果的iOS一步,,但與Apple相同的是,,它也成功的將其應(yīng)用從手機移植到了平板計算機(Tablet PC)上。Android開放原始碼(Open Source)的特性,,能輕易地提高廠商對自家產(chǎn)品的接受度,,更不用提背后Google的強力撐腰能帶來多大的經(jīng)濟效益。目前可見包括手機廠商HTC,、Motorola,、SAMSUNG,以及計算機大廠HP與Dell等皆投向Android的懷抱,Android被廣泛應(yīng)用可說是勢在必行,。
盡管Android系統(tǒng)的普及看似指日可待,,但在實際的產(chǎn)品應(yīng)用上,也有其可能產(chǎn)生的問題風(fēng)險,。Android作為一個開放式的操作系統(tǒng),,是Google提供廠商的操作系統(tǒng)參考架構(gòu)(reference design),廠商能有充足的發(fā)揮空間,,以Android為基礎(chǔ)向上開發(fā)設(shè)計自家產(chǎn)品,,但也因為這樣的開放性與自由性,讓廠商在軟硬件結(jié)合的這個環(huán)節(jié)必須下更大的功夫,,像是如何挑選合適的硬件包括基頻處理器,、通訊芯片、觸控感應(yīng)芯片,、天線與內(nèi)存模塊等,,以及如何調(diào)整出最適當(dāng)?shù)能浖O(shè)定等,更重要的是如何將軟硬件整合,,開發(fā)出差異化的產(chǎn)品,。這中間所有的細節(jié)都會對產(chǎn)品最終樣貌產(chǎn)生莫大的影響,像是其功能的完整度,、使用接口的設(shè)計,、效能表現(xiàn)(例如觸控滑動畫面、開啟程序所需時間),、品質(zhì)可靠度,、甚至是后續(xù)的韌體升級動作等等。在此百佳泰便試圖以專業(yè)中立的測試實驗室角度,,來點出廠商應(yīng)用Android于手機,、平板計算機或其它裝置時應(yīng)注意的開發(fā)重點,以希冀作為一個有效的參考信息,。
解構(gòu)Android基本技術(shù)架構(gòu)
首先我們先來看到Android的基本技術(shù)架構(gòu),,Android是以Linux為核心,并采用軟件堆棧(software stack)的架構(gòu)延伸發(fā)展的一套軟件平臺與操作系統(tǒng),。根據(jù)下圖可以看出,,其基本架構(gòu)分為五層:
· Linux核心(Linux Kernel):以Linux開發(fā)提供最底層的核心系統(tǒng)服務(wù),包括安全性 (Security),、內(nèi)存管理(Memory Management),、進程管理(Process Management)、網(wǎng)絡(luò)堆棧(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裝置的效能關(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)進行修改,。譬如像是多任務(wù)處理能力(multi-tasking),便可能需要修改包括Linux核心與應(yīng)用程序框架的設(shè)計,;而應(yīng)用程序的開發(fā)者更可能需要針對應(yīng)用程序與框架進行調(diào)整,。由此可見,對Android裝置而言,,任何一個功能的置入或是對硬件設(shè)定的細微更動,,都需要對Android系統(tǒng)進行從下到上的調(diào)整以達到最優(yōu)化的效能,而這正是最為困難與需要驗證的一環(huán),。
Android裝置軟硬件整合的五大技術(shù)環(huán)節(jié)
如前所述,,對眾家開發(fā)廠商而言最大的挑戰(zhàn)其實在于,如何將自己理想的產(chǎn)品訴求,,與Android系統(tǒng)巧妙結(jié)合成一個功能完整并使用流暢順手的產(chǎn)品,,這其中牽涉了不同技術(shù)間的整合與運用。在此我們便根據(jù)其多年的測試與研究經(jīng)驗,,歸納出五大Android相關(guān)裝置在技術(shù)整合上的重要環(huán)節(jié):
一,、Linux驅(qū)動程序的導(dǎo)入
由于Android是根源于Linux所延伸出來的操作系統(tǒng),因此各種關(guān)鍵功能的驅(qū)動程序也必須要能順利的寫入其中,,舉凡像是字符裝置,、內(nèi)存的空間配置、中斷處理,、網(wǎng)絡(luò)通訊,、屏幕顯示或是連接接口像是USB與PCI的驅(qū)動程序,,這些可能是自行撰寫、或是來自不同組件廠商的驅(qū)動程序,,都必須要能被導(dǎo)入到Android系統(tǒng),,并維持良好穩(wěn)定的效能表現(xiàn)。
二,、系統(tǒng)單芯片的優(yōu)化處理
對廠商而言,,開發(fā)一款A(yù)ndroid裝置,不僅僅只是將所有零組件組合成為一個產(chǎn)品那么容易,,最大的學(xué)問便在于將系統(tǒng)單芯片(System-on-a-chip,,SoC)、各種新技術(shù)和Android系統(tǒng)進行整合,,SoC涉及像是Dalvik Virtual Machine,、OpenGL、V8,、Webkit Engine等上層的演算,,與Android間的結(jié)合便必須透過不斷的嘗試與驗證,才能研發(fā)出既符合成本效益,、又有良好效能的優(yōu)化產(chǎn)品,。目前市面上有些SoC廠商已針對Android系統(tǒng)的特性,提供整合過的SoC平臺,,將藍牙,、相機或上網(wǎng)等常用功能模塊預(yù)先寫入,減少終端成品廠商費力整合開發(fā)的時間,,但對廠商而言,,這樣的預(yù)先整合是否適合自身產(chǎn)品,以及是否需要再作更細致的修改,,則又是更困難的課題,。
三、新技術(shù)的移植
隨著技術(shù)的快速發(fā)展,,更多新興的技術(shù)規(guī)格也逐漸應(yīng)用在手機等手持裝置上,,以手機為例,已經(jīng)從過去以撥打電話為主要功能,,轉(zhuǎn)變?yōu)閾碛懈鞣N多樣化用途的產(chǎn)品,。像是觸控技術(shù)讓消費者可以透過手指的滑動傳送指令甚至是具備多點觸控的支持、Wi-Fi模塊提供隨時無線上網(wǎng)的可能,、通用圖形處理器(General-purpose computing on graphics processing units,,GPGPU)則能以并行方式透過圖形處理器來執(zhí)行通用計算任務(wù)、Android 2.3版所支持的NFC近場通訊技術(shù),,以及更高階的相機模塊等等,,背后都有各自的驅(qū)動程序與軟件技術(shù),,也必須要與Android系統(tǒng)相結(jié)合使用。
四,、效能表現(xiàn)的穩(wěn)定
盡管上述這些技術(shù)不斷推陳出新,,但也都不能因此而犧牲裝置原本的效能表現(xiàn),讓處理速度因此變慢或造成使用上不順暢的狀況,。除了采用更好的硬設(shè)備外(例如現(xiàn)今處理器的時脈已邁向1GHz),,更需要操作系統(tǒng)的支持,像是如何在多任務(wù)運作的狀況下維持程序執(zhí)行速度以及系統(tǒng)滿載的處理等等,,都必須要透過軟件面的奧援,。也就是說,一臺Android裝置除了要能將各種功能與技術(shù)收納起來,、將軟硬件整合外,,更必須同時注重它在效能上能否維持應(yīng)有的水準(zhǔn),以提供使用者在操作上流暢易上手的感受,。
五、低電耗設(shè)計
Android的設(shè)計概念主要是應(yīng)用于可攜式裝置上,,目前市面上可見的像是平板計算機與智能型手機等,。對這類產(chǎn)品而言,電池續(xù)航力的好壞可說是影響消費者使用感受的關(guān)鍵之一,,試想,,若是一臺智能型手機的待機時間過短,而使用者在外時又無法隨時充電使用,,不能實時的連網(wǎng)查詢資料或執(zhí)行其它手機功能,,這樣的產(chǎn)品便失去了它作為可攜式行動裝置應(yīng)有的便利性。追根究底,,良好的待機時間除了需仰賴高容量的電池以提供充足電力之外,,另一個重點就是裝置本身在被使用執(zhí)行時能否作到低電耗設(shè)計。Android裝置讓使用者能透過各種多樣化的應(yīng)用程序,,來達到各種不同的使用目的,,舉凡像是單純上網(wǎng)、觀看新聞,、郵件推播或是游戲等等,,各種不同功能的程序都能透過自由下載使用,也由于其多任務(wù)處理與讓程序背景執(zhí)行的能力,,更讓降低耗電量成為開發(fā)者不可輕忽的一項課題,。
持續(xù)驗證修正,找出最佳Android整合方案
正如前面我們不斷提到的,,對Android裝置而言,,最困難的開發(fā)挑戰(zhàn)便在于如何完美地”整合”軟件與硬件,,以開發(fā)出一項功能完整又同時注重使用者感受的產(chǎn)品。從對Android本身程序代碼的修改,、相關(guān)硬件的選擇,,到驅(qū)動程序的結(jié)合運用以及能否維持穩(wěn)定的效能表現(xiàn)等,在在都必須要透過仔細的研究與不斷的嘗試,,才能找出問題的根源并解決,、更進而找出最合適的整合方案。
附圖我們歸納出一些在Android裝置上經(jīng)常出現(xiàn)的問題與其可能肇因,,而這些也都是開發(fā)廠商必須重視卻可能忽略的一環(huán),。像是Android原始碼中對音源的重新取樣(Re-sampling)設(shè)計,就會導(dǎo)致裝置在讀取48K音源時重新取樣成44K,,而造成諧波失真的現(xiàn)象影響音質(zhì),,這便是廠商不會注意到而未去修改的問題;另外像是天線位置的設(shè)計,,也可能直接的影響到收訊能力的好壞,;而不良的電源管理設(shè)計,也極有可能影響到裝置在持續(xù)使用狀態(tài)中的耗電情形,。百佳泰在此僅以專業(yè)測試驗證實驗室的角度,,希冀以宏觀的方式,針對Android裝置的開發(fā)設(shè)計提供可用的參考,,近期內(nèi)我們也將會提供實際的相關(guān)測試數(shù)據(jù)報告,,并進一步指陳這些可能的問題風(fēng)險,以期讓更多廠商與消費者都能注意到品質(zhì)驗證的重要性,,是從產(chǎn)品設(shè)計的根源就要開始層層把關(guān),。