久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇3G手機技術(shù)專區(qū)Android系統(tǒng)開發(fā) → Android 系統(tǒng)架構(gòu)


  共有4994人關(guān)注過本帖樹形打印

主題:Android 系統(tǒng)架構(gòu)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
Android 系統(tǒng)架構(gòu)  發(fā)帖心情 Post By:2010-12-2 10:27:17

前言
在Apple iPhone引起了廣大群眾和業(yè)界對於高階行動裝置應(yīng)用的注目,另外也在市面上掀起了一陣波瀾。 從許多角度觀看iPhone,iPhone可以說是一個銷售不錯的單一產(chǎn)品。 然而iPhone能否持續(xù)熱潮也是相當值得注意的事。 而Microsoft一直有著自己的手持式平臺Windows CE/Mobile與相關(guān)的合作夥伴。在這塊市場上目光也集中在另一個軟體巨頭-Google,對於Google在這塊市場的後續(xù)行動,或許iPhone的炒作起了作用,iPhone單一產(chǎn)品的思維讓人們一直不斷地傳言Google將類似Apple iPhone也推出自己的手機終端產(chǎn)品gPhone。 甚至有人對於該預期存在的gPhone的
產(chǎn)品規(guī)劃和網(wǎng)路應(yīng)用方面,都有相當?shù)念A測。而在2007年11月,Google公布了Android計劃,一方面映證了Google確實對於Mobile
Device有著長久的計劃和行動,一方面也否定了gPhone這樣單一的產(chǎn)品存在。如預期的網(wǎng)路上出現(xiàn)了許多關(guān)於Android的評論,綜觀這些評論,
有的是淺嘗即止,有的是過於聚焦在技術(shù)層面的政治爭議,不然就是忽略了平臺技術(shù)在應(yīng)用上的影響和差異差異而大放市場策略的預測,更甚者拿著現(xiàn)有的
Android
Emulator說著不知所以的說著gPhone抄襲iPhone的UI的可笑話。本文希望從系統(tǒng)和技術(shù)層面上探討Android對於應(yīng)用層面的影響,或
許透過對於Android正確的認知,可以對於市場策略上的分析能有更正確的判斷。
Just Another Mobile Linux Platform?
乍看之下Android只是個有如OpenMoko/MobiLin/GreenPhone等眾多開放式手持Linux平臺的一個,並沒有甚麼特別之處,然而進一步了解之後,就不難了解Android 平臺在系統(tǒng)建構(gòu)上獨到的設(shè)計。可以說Android重點並不在於Linux,而Android專案採用了這樣的組合,在整體規(guī)劃上考量了相當廣的的層面,自個人/第三方軟體開發(fā),系統(tǒng)開發(fā)建構(gòu),實際應(yīng)用性到系統(tǒng)平臺開放性。 而Android 計劃除了制定了系統(tǒng)架構(gòu)外,還針對這個平臺提供了完善的軟體開發(fā)工具與環(huán)境,在IDE上採用了開放式開發(fā)平臺 Eclipse,在該IDE 上建構(gòu)了Android 專屬的plugin。 另外還以自由軟體QEMU為基礎(chǔ)提供了Android平臺專屬的Emulator,讓個人/第三方軟體商迅速開發(fā)軟體,無需依靠實際硬體開發(fā)軟體。
Application/Application Framework
對於開發(fā)者而言,開發(fā)Linux Mobile/Embedded 軟體時,多半採用C/C++做為軟體開發(fā)語言,由於C/C++目前的開發(fā)工具與底層硬體平臺有相當?shù)南嚓P(guān)性,因此首先遭遇到的問題是cross-tool chain的使用和開發(fā)環(huán)境的架設(shè),再來就是每個Mobile Linux組織所制定出不同的embedded linux平臺有相當迥異的system architecture/runtime environment,而各組織所提供的軟體開發(fā)環(huán)境,也並不如Win CE/Mobiles單一系統(tǒng)一般有一致的架構(gòu)及API,更不用說對於硬體平臺的多樣性更有著軟體相容性的問題,因此即便API能做到有如Windows CE/Mobiles一般的一致,在各種硬體平臺(ex:ARM/MIPS/PowerPC..)也無法建立單一且能夠相容且運作的binary,相較於在現(xiàn)在以x86為主要硬體平臺的開發(fā)環(huán)境,行動裝置硬體平臺的多樣性對於軟體開發(fā)和使用性上無疑增添了不少硬體限制,而Java軟體雖能夠解決這方面的問題,然而Java因為設(shè)計上的緣故,在應(yīng)用性上更為侷限。在這方面Android很特別的,採用了Java Language來做為App的撰寫語言。 採用Java語言的好處相當多,物件導向語法相較於常用的C語言更便於GUI Programming Model的建置,另一方面Java開發(fā)及執(zhí)行環(huán)境的建構(gòu)在Desktop 上相當容易,參考文件的維護也較為容易,而且Java相關(guān)的開發(fā)工具已經(jīng)很齊全且成熟,再者Java所制定的bytecode,沒有所需要對應(yīng)平臺的問題。儘管最後在Android平臺上執(zhí)行的並非Java bytecode ,而是自有的dex 格式,然而dex 格式也有如Java bytecode般取決於VM的實作,而VM的角色在Android平臺終適度的隱藏了底層硬體的差異。
Runtime Environment - Libraries & Dalvik VM
在Rutime方面的library層面上,為了提供基本且標準的功能,Android 還是針對平臺的執(zhí)行環(huán)境制定了一套標準的C/C++ Library set,從現(xiàn)有的標準模組看來,主要是針對網(wǎng)路/多媒體/GUI以及安全性提供底層的實作,值得注意的是在此Android特別將OpenGL ES/SQLite的納入,使得系統(tǒng)對於3D/資料庫有著標準支援。而儘管平臺上有著C/C++ libraries,這部分並不讓開發(fā)者在開發(fā)軟體時直接地使用,C/C++libraries在使用上還是間接地透過上層的Application Framework,並且透過Virtual Machine(VM)使用類似Java JNI技術(shù)來橋接 libraries 與 VM的運行。 由於軟體開發(fā)上使用了Java Language,若要使用Java VM這對於一般使用者與開發(fā)者而言難免存在著應(yīng)用性相當侷限,執(zhí)行效率不佳,系統(tǒng)資源需求過高,以及Java ME授權(quán)等問題的存在。 為了解決上述這些問題,Google 特地實作了Dalvik VM,Dalvik並非是Java VM,因此所執(zhí)行的也並非是bytecode,目前需要依靠轉(zhuǎn)換工具將Java bytecode轉(zhuǎn)為Dalvik VM執(zhí)行時特有的dex(Dalvik EXcutable)格式。Dalvik VM相較於Java VM最大的不同在於Java VM為Stack-based,而Dalvik是register-based。 以技術(shù)層面考量Register-based VM的特性有個很大的好處,那就是對於現(xiàn)有主流的硬體架構(gòu),如此很容易與現(xiàn)有系統(tǒng)整合且最佳化,而所需要的資源也相對較少。 甚至在硬體實作VM上會比較容易實現(xiàn)。 最重要的是Dalvik 並非是Java ME的實作,因此沒有Java ME授權(quán)相關(guān)的議題。 由android目前的介紹可以看出Dalvik目前實作在Linux 平臺[2],僅依靠Linux kernel作低階動作與memory management。
而從這一點的延伸更可以看出Android平臺中的重點為負責執(zhí)行層面的Dalvik
VM而非Linux,也因此Linux在Android平臺中所扮演的角色並非是舉足輕重的主角,也可以想見Google採用Linux的原因是
Linux本身所具有的自由開放的特性,而另外在手持式裝置中Linux已經(jīng)具有相當質(zhì)量的軟體開發(fā)資源,另外就是VM的使用,考量到的就是軟體在各式硬
體上的通用性,所以對於有些人猜測Android最後還是會開放C/C++
API供開發(fā)者使用,若是如此,Android就失去了最大的特點,與LiMo/OpenMoko之類的Mobile
Linux平臺無異,所以這是太不可能發(fā)生的。既然採用了VM的方式,這麼一來,Dalvik
VM在其他平臺上建構(gòu)也不無可能,或許這樣的推敲或許也能合理解釋在Open Handset Alliance成員中有著長期耕耘Windows
Mobile平臺的HTC在列。
Eclipse IDE + Android Emulator
針對特定平臺提供完善的開發(fā)/除錯工具,以及整合式的開發(fā)環(huán)境是開發(fā)行動應(yīng)用軟體的另一個困難點,針對此點Google為Android平臺開發(fā)了一系列的開發(fā)/偵除錯工具。 一系列的工具中最引人注目的莫過於Eclipse ADT-plugin和Android Emulator。現(xiàn)今,獨立的IDE軟體開發(fā)需要投注相當多的人力和時間,因此以提供eclipse plug-in的方式來達到提供完善的IDE目的,對於許多開放專案或商業(yè)產(chǎn)品而言,這樣的作法已經(jīng)是首選。 而提供Emulator更可以解決在軟體開發(fā)階段對於硬體平臺需求的問題。 從Android Emulator的程式碼[3]看來是以QEMU為基礎(chǔ),延伸打造了該Emulator,功能上除了一些無法以軟體模擬的功能外(USB連線,SD 插拔,Audio-In,Camera,電池/AC狀態(tài)…等等),甚至許多的偵錯功能是與Emulator環(huán)境整合的(有興趣的話可以下載SDK和Eclipse ADT來玩,在Eclipse上所開發(fā)的程式可以很直接地輸出到Emulator上執(zhí)行,無需製作image或是安裝),在硬體模擬程度上相當?shù)娜妗T陂_發(fā)工具上,Android透過QEMU/Eclipse的方式,以很務(wù)實簡單的作法達到了這樣的目的。Google在Android平臺上大量採用了開放和自由的軟體,不害怕公開程式或視之為洪水猛獸,這樣的作法相較於Symbian/ PalmOS/ Windows Mobile而言,宣告了軟體上的高價值不在於封閉進而販賣程式碼和SDK工具本身,透過採用開放/自由軟體的力量,更能加速達到目的和增加自身的價值。
Java的美麗與哀愁 - Dalvik所引來技術(shù)上的政治爭議
這個部分寫的有點長,是個人看了一些討論後的想法,沒有興趣的話請?zhí)^。在Android平臺採用Java語言做為程式開發(fā)語言的同時,提出了
Dalvik
VM。這樣的舉動引起最廣泛探討的是:Android是否分裂了Java。在討論這樣的問題之前,或許該討論Java本身的問題,在這裡個人提供另一個思
考觀點,Sun在Java的提出之後,一度曾經(jīng)想過將Java交由ISO標準化,然而或許是透過JCP對於Java在各應(yīng)用上制定的完全主導,讓Sun由
Java在各方面確實地獲得了相當?shù)睦妫约幢忝鎸icrosoft提出.NET這樣對於許多人而言美好又開放的平臺的挑戰(zhàn),長久以來Sun還是一
直以相同的論調(diào)來否決開放Java這個語言,而這個論調(diào)就是:"這會分裂Java"。從Java的出現(xiàn),在軟體開發(fā)的歷史上確實有著相當?shù)囊饬x,然而
Java的提出到現(xiàn)在經(jīng)過的時間並不算短,即便是歷史最悠久的Java
SE在現(xiàn)今Desktop應(yīng)用上還是相當侷限,這樣的結(jié)果或許可以去檢討的是,或許Java淪落到現(xiàn)今這樣的局面是Sun自己導致的。多年來Sun封閉了
Java讓Java只在他們允許的方式下運作,在bytecode + stack
VM低落的效能和反應(yīng)下,多少開發(fā)者期望能用Java語言開發(fā)原生(Native)程式,而又有多少開發(fā)者在AWT/
Swing這樣既具有難以有效駕馭的UI
Model而且又與系統(tǒng)本身的Look&Feel格格不入的情況下充滿挫折,更不用說許多難以理解的各種不實用的應(yīng)用Framework
(ex: JMF/Java3D). 而這許多問題當人們嘗試自己解決而提出不錯的方案,像是GCJ 和 Eclipse
SWT,換得的是Sun的無視或敵對。而許多的方案換得的是:
"Java已經(jīng)有了XXX,這樣的做法會分裂Java"。這麼一句總是出現(xiàn)的話,到底是不是因為它本身真的很有道理?至少Sun
達到目的了,與Java扯上的問題第一個被討論的總是"它會不會分裂Java?",Sun這麼多年來是否有心改進Java?這個問題或許Sun應(yīng)該捫心自
問,在人們對於Java在應(yīng)用上的各種需求的改進有所要求的同時,Sun對於Java是否真的針對貼近人們本質(zhì)需求而改進?檢視過去Sun
到底做了甚麼,在"分裂Java"這樣的保護傘下,原本大好前程的Java又改進了甚麼?這樣一來"Android是否分裂了Java?"是對於問題的一
箭中的還是只是長年來受到的刺激的反射式思考?Android計劃中Dalvik
VM的出現(xiàn)不妨視之為軟體開發(fā)演進中的必然,一方面Google從沒宣稱說這是Java,而現(xiàn)今也有其他程式語言能夠開發(fā)在Dalvik
VM上運作的軟體。如果Sun的Java做的夠好Dalvik可能就只是Java的次世代技術(shù)。Dalvik
VM的問題點或許只是在於扯上了Java而不在於他是個VM,在不同的Instruction Set上用Java語言開發(fā)程式,在GCJ/.Net
iKVM出現(xiàn)的同時就已經(jīng)被證明了,如果這算分裂Java,那這件事一直因為人們的需求而發(fā)生。軟體開發(fā)或許就如同電影侏儸紀公園中所說的"Life
will find its
way.",更不用說開發(fā)軟體的是人,程式開發(fā)者總是期盼有更好的系統(tǒng)架構(gòu)和方案。在相容性的保護問題上,在網(wǎng)路上有人問過"為何沒有人有勇氣對
Google詢問他們對OpenJDK的質(zhì)疑",或許人們該想想Sun用了這麼多的手段去控制Java的演進,卻無法自己提出Dalvik,那麼
Google這麼做除了保障平臺的相容性又何能控制全球的人們往更好的應(yīng)用方向發(fā)展?另外許多軟體廠商(Ex: Trolltech)
說了"Google不過是制定了另一套Java",這樣的說法某些層面上是對的,但是對於由這些人說出的這些話,姑且以Android計劃會妨礙他們的產(chǎn)
品(Ex
圖片點擊可在新窗口打開查看
topia/Jambi)的銷售這樣的想法而一笑置之。
說了這麼多,那Android到底是甚麼?
總結(jié)上述歸納幾點:
1. Android是個軟體平臺,讓人們可以開發(fā)軟體。這代表拿Apple iPhone與之相比,不只是不對等,更凸顯出iPhone的譁眾取寵和Apple的短視無力(SDK原本是不打算開放的), 拿iPhone與Android現(xiàn)有UI相較更是可笑的舉動.
2. 和以往的Mobile平臺不同的是,Android的設(shè)計讓它在採用VM得到類似Java
bytecode在不同硬體平臺的相容性的同時,VM對於底層硬體平臺貼近的設(shè)計能夠依然保有相當不錯的效能。相較於Windows
Mobile限定使用ARM CPU, 其他Mobile Linux平臺則僅止制定了API層次的一致的作法,Android 算是有突破性的作法。
3. 現(xiàn)在的Android是Linux平臺,不過由於Android的核心在於上述的VM實作,這代表未來底層軟體平臺也或許是可以轉(zhuǎn)換的(甚至是Desktop)。目前缺乏詳細Dalvik VM實作細節(jié)這項目純屬猜測。

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

Android 系統(tǒng)架構(gòu)








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
日韩中文欧美在线| 国产精品久久久久影院| 亚洲在线欧美| 亚洲巨乳在线观看| 伊人色综合久久天天五月婷| 在线亚洲美日韩| 91麻豆精品国产自产在线| 欧美一区二区三区系列电影| 国产人妖乱国产精品人妖| 一区二区三区在线观看动漫| 蜜桃视频在线观看一区| 国产精品一区二区无线| 97视频资源在线观看| 日本亚洲导航| 在线91免费看| 亚洲色大成网站www久久九九| 图片区日韩欧美亚洲| 国产乱淫av一区二区三区 | 中文字幕av一区二区三区| 亚洲欧美国产三级| 久久成人久久鬼色| 91麻豆精品秘密入口| 亚洲国产激情一区二区三区| 欧美精选在线播放| 综合婷婷亚洲小说| 国产乱对白刺激视频不卡| 国产精品久久精品视| 亚洲五月六月| 久久精品亚洲乱码伦伦中文| 亚洲电影第三页| bt7086福利一区国产| 亚洲aⅴ天堂av在线电影软件| 7777女厕盗摄久久久| 亚洲人成网站影音先锋播放| 国产一区二区三区日韩| 欧美成ee人免费视频| 一区二区三区四区欧美| 337p粉嫩大胆噜噜噜噜噜91av | 久久涩涩网站| 91精品国产综合久久福利软件 | 亚洲色欲色欲www| 国产一区欧美二区| 精品国产乱码久久久久久丨区2区| 色综合久久中文字幕| 国产午夜精品一区二区| 日本人妖一区二区| 精品久久久久久一区| 日韩三级视频在线观看| 天天影视色香欲综合网老头| 成人一区二区三区四区| 欧美精品一级二级| 性欧美大战久久久久久久久| dy888夜精品国产专区| 欧美四级电影网| 亚洲影视资源网| eeuss一区二区三区| 91精品国产一区二区三区 | 美日韩黄色大片| 日本一区视频在线观看| 久久久久久久性| 国产精品伊人色| 91久久精品国产91性色tv| 亚洲精品乱码久久久久久日本蜜臀| 成人永久看片免费视频天堂| 91久久线看在观草草青青| 亚洲一区在线播放| 国产日韩欧美精品| 亚洲精品一区在线观看| 国产成人精品免费网站| 欧美在线free| 日韩国产成人精品| 蜜桃臀一区二区三区| 国产片一区二区三区| 夫妻av一区二区| 欧美精品久久久久久久久老牛影院 | 国产99久久久国产精品潘金| 欧美丝袜丝交足nylons| 日本在线观看不卡视频| 亚洲图片欧洲图片日韩av| 国产精品情趣视频| 91视频你懂的| 国产亚洲欧美日韩日本| 99精品久久只有精品| 日韩视频免费观看高清完整版在线观看 | 韩日午夜在线资源一区二区| 久久久久久久久免费| 成人国产精品免费观看视频| 日韩欧美一区二区视频| 国产91丝袜在线观看| 在线观看91精品国产麻豆| 国产在线国偷精品产拍免费yy| 欧美天堂一区二区三区| 国产一区二区三区在线观看免费 | 不卡视频一区二区三区| 欧美国产欧美综合| 精品无人区一区二区三区| 17c精品麻豆一区二区免费| 国模精品一区二区三区| 亚洲精品一卡二卡| 亚洲国产欧美不卡在线观看| 午夜伦理一区二区| 欧美午夜影院一区| 国产成人在线看| 欧美精品一区二区三区蜜桃| 999国内精品视频在线| 国产精品久久久久久久久图文区 | 久久久久久久免费| 亚洲成人综合在线| 欧美图片一区二区三区| 丁香桃色午夜亚洲一区二区三区| 日韩免费高清电影| 国产精品国色综合久久| 亚洲理论在线观看| 日本韩国一区二区三区| 粉嫩av一区二区三区在线播放| 久久亚区不卡日本| 免费成人深夜夜行视频| 免费高清视频精品| 欧美成人女星排行榜| 九九99玖玖| 免费美女久久99| 欧美成人精品3d动漫h| 激情久久av| 日韩中文字幕av电影| 日韩欧美一级精品久久| 国产精品乱码一区二区三区| 亚洲图片有声小说| 欧美一区二区三区色| 久久久99国产精品免费| 麻豆精品在线播放| 久久嫩草精品久久久精品| 青娱乐国产91| 国产一区二区在线视频| 中文一区一区三区高中清不卡| 一本色道久久综合亚洲二区三区| 国产大片一区二区| 亚洲日本韩国一区| 制服丝袜日韩国产| 免费一区二区三区在在线视频| 九九**精品视频免费播放| 亚洲精品一区二区三区精华液| 久久久综合香蕉尹人综合网| 久久国产精品99精品国产| 日本一区二区免费在线| 日本道色综合久久| 国产精品一区二区三区四区五区| 蓝色福利精品导航| 亚洲天堂免费在线观看视频| 在线综合+亚洲+欧美中文字幕| 久久国产主播精品| 粉嫩高潮美女一区二区三区| 亚洲国产一区视频| 久久久99免费| 成人永久免费视频| 亚洲视频网在线直播| 亚洲乱码一区二区三区三上悠亚 | 亚洲欧美国产三级| 欧美一区二视频| 日韩一二三区不卡在线视频| 成人国产电影网| 蜜桃精品视频在线| 成人免费一区二区三区在线观看| 欧美美女激情18p| 亚洲v日韩v欧美v综合| 99国产精品99久久久久久| 蜜桃精品在线观看| 亚洲激情在线播放| 亚洲精品一区在线观看| 在线观看亚洲成人| 日韩av一区二区三区美女毛片| 91丝袜美腿高跟国产极品老师 | 亚洲国产精品人人做人人爽| 精品国产3级a| 欧美日韩激情在线| 亚洲欧美日产图| 久久精品国产综合精品 | 亚洲成人18| 国产乱子伦精品| 成人高清视频免费观看| 久久精品国产澳门| 一区二区三区电影在线播| 国产欧美精品区一区二区三区 | 91精品婷婷国产综合久久性色| 亚洲狠狠婷婷综合久久久| 成人精品水蜜桃| 99国产精品久久| 成人精品国产福利| 国产精品亚洲成人| 精品一区二区三区免费视频| 天天色天天操综合| 亚洲第一av色| 亚洲国产va精品久久久不卡综合 | 高清av一区二区| 国产一区二区美女诱惑| 毛片基地黄久久久久久天堂| 五月天网站亚洲| 婷婷综合另类小说色区| 亚洲国产综合91精品麻豆| 亚洲精品视频一区二区| 亚洲欧洲av色图|