《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > Android 2.3 (Gingerbread) NDK現在更加接近純本機開發

Android 2.3 (Gingerbread) NDK現在更加接近純本機開發

2011-08-08
關鍵詞: 開發工具 Android NDK

   隨著近期Gingerbread的發布及基于ARM的Android每日激活數量達到300,000(參見James Bruce的博客),開發人員迎來了前所未有的好機遇。開發人員所使用的工具也比以前要好。Gingerbread的更新引起了對如何支持開發人員為快速成長的消費市場創建優質內容的強烈關注。 

   Android很早就隨軟件開發套件(SDK)提供了一套本機開發套件(NDK)。NDK可以支持以C和/或ARM匯編代碼創建本機函數。Java應用程序可以通過Java本機接口(JNI)調用這些函數。一位筆名為ARM_DaveB的ARM首席軟件工程師寫了一篇關于NDK的精彩博客。
 
   盡管NDK的工作模式旨在實現專門任務,但我們通過與許多Android應用程序開發人員交談發現,他們更愿意將整個應用程序嵌入一個本地庫。他們只愿意創建一個非常小的Java封裝來處理應用程序生命周期管理并訪問本機代碼無法訪問的API。瘋狂流行的Rovio專營游戲“憤怒的小鳥”,及曾經風靡一時的Mozilla Firefox瀏覽器均是采取這方式的典范。
 
 
圖1 - Mozilla Foundation Firefox for Android
 
 
新NDK中的增強本機API類別
隨著Android 2.3 (Gingerbread) SDKr8和谷歌NDKr5的發布,許多事情都發生了改變!對于那些使用過NDK的有經驗的開發人員,谷歌推出了一系列可用于本機代碼的API擴展功能。這將極大地改進本機代碼的性能并提高其多功能性。增強的本機API類包括:
輸入和傳感器事件
基于Khronos OpenSL ES標準的Audio API
基于Khronos EGL標準的EGL界面
適用于圖形資源的資源管理器API
 
NativeActivity類轉變NDK工作模式
然而,最為顯著的變化則是引入了NativeActivity類。這一新功能代表著NDK工作模式的重大轉變。本機代碼的NativeActivity類附加功能支持應用程序生命周期管理,而窗口管理則可在Java外執行。它可以有效地將“main()”從Java轉至C。這意味著可以完全使用C/C++/ARM匯編代碼來編寫應用程序,而無需開發Java或JNI捆綁包。它賦予了開發人員選擇Java或C的真正自由權力,從而進一步為Android平臺上的應用程序開發打開了一個開發人員社區的超集。
 
新的NativeActivity類與當前一些激進的NDK用戶編寫的代碼并沒有什么不同,都將應用程序的大部分移至本地庫。它提供了一個本地幫助程序類以將回調函數捆綁至本機代碼。NativeActivity中的這些方法不僅是源自Java中的標準Activity類,可以提供Java應用程序的靈活性,而且該類還增加了一些處理附加任務的獨特方法,如surfacedChanged(…)和surfaceRedrawNeeded(…)。通過這種方式,應用程序仍舊以Dalvik線程運行,并享有Android應用程序框架模型的相同安全保護和優勢。

新的幫助程序庫簡化了NativeActivity的使用
谷歌創建了一個新的幫助程序庫,作為新NDK的一部分,從而又向前邁進了一步。該幫助程序可以簡化NativeActivity的使用,從而讓新開發人員可以更輕松地掌握它,并快速地在Android平臺中部署本機應用程序。該庫被定義在NDK源目錄下的android_native_app_glue.[h|c]文件中。此幫助程序庫定義了一個由開發人員執行的android_main(…)函數。android_main(…)函數旨在保持開發人員主應用程序流控制,且可由幫助程序庫通過唯一線程調用。這樣,庫即可幫助開發人員避免發生與在主NativeActivity線程中運行回調代碼相關的堵塞問題。幫助程序庫定義的android_app架構實例將被傳至android_main(…)函數。此架構包含有一個嵌入ALooper架構實例,可以支持應用程序偵聽活動生命周期事件,如“pause”或“resume”,及設備輸入事件。
 
 
圖2 - 使用NDKr5以本機代碼編寫的android_mail函數示例
 

NDK將加速平板優質內容的生產
在嘗試了新功能和提供的NativeActivity示例后,我對修訂版NDK的新式樣產生了深刻的印象。正如我們可以期待在新的一年中會有更多的Android平板設備運行2.3 (Gingerbread),我相信通過簡化潛在ARM架構的利用,在為更大屏幕的設備加速創建優質應用程序內容方面,新的NDK將會拌演重要角色。
 
趕快親身體驗吧!您現在可以從谷歌獲得NDKr5包裹、文檔及示例,有關NativeActivity的詳細信息,請參見此處。您還能從Android開發人員頁面找到許多其它Android 2.3增強內容。
本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品99一区| 欧美视频一区二区三区在线观看 | 国产精品99一区| 欧美日韩成人免费| 欧美精品福利在线| 欧美精品999| 欧美精品免费播放| 欧美区高清在线| 欧美另类女人| 美女视频黄a大片欧美| 狼人社综合社区| 老司机午夜免费精品视频| 久久久久免费观看| 久久亚洲视频| 久久伊人免费视频| 美女任你摸久久| 欧美精品性视频| 欧美日韩高清一区| 国产一区二区三区av电影| 最新中文字幕亚洲| 亚洲高清免费在线| 亚洲国产日韩欧美| 亚洲欧洲精品成人久久奇米网| 亚洲第一色中文字幕| 亚洲成色精品| 亚洲日本中文字幕| 中文av一区二区| 亚洲影院色无极综合| 亚洲欧美一区二区在线观看| 欧美伊人久久久久久久久影院 | 中国成人亚色综合网站| 亚洲影院色在线观看免费| 午夜视频在线观看一区| 羞羞答答国产精品www一本| 国产精品久久久久久久一区探花 | 一本色道88久久加勒比精品 | 日韩视频在线一区| 一区二区三区你懂的| 亚洲欧美激情视频在线观看一区二区三区| 亚洲欧美成人一区二区三区| 欧美在线视频导航| 麻豆精品视频在线观看| 欧美日韩18| 国产精品尤物| 亚洲高清视频一区| 一区二区欧美国产| 欧美在线视频二区| 亚洲激情专区| 亚洲一区在线免费观看| 久久精品国产一区二区三| 欧美大片一区二区三区| 国产精品久久久久久久久久久久| 国产一区二区黄色| 亚洲精品裸体| 午夜精品一区二区三区四区| 亚洲精品中文字幕有码专区| 午夜国产精品影院在线观看| 麻豆国产精品777777在线| 国产精品成人国产乱一区| 国产亚洲一区二区三区在线播放| 亚洲激情欧美| 亚洲尤物视频在线| 亚洲精品美女在线观看| 性久久久久久| 欧美国产国产综合| 国产精品丝袜久久久久久app| 在线观看视频欧美| 亚洲性视频网址| 91久久亚洲| 欧美在线啊v一区| 欧美精品在线一区| 国产在线日韩| 一区二区三区不卡视频在线观看| 久久精品国产亚洲高清剧情介绍| 在线亚洲伦理| 蜜臀久久99精品久久久画质超高清| 国产精品久久久久久av下载红粉| 亚洲成人自拍视频| 午夜精品久久久久久久99樱桃| 日韩视频免费| 久久久精品五月天| 国产精品黄色在线观看| 亚洲激情偷拍| 久久精品论坛| 欧美伊人影院| 欧美日韩三级电影在线| 在线精品视频一区二区| 亚洲欧美激情在线视频| 亚洲视频欧洲视频| 欧美黄免费看| 永久免费视频成人| 欧美一区二区三区视频免费播放 | 欧美精品入口| 亚洲福利视频一区| 午夜免费电影一区在线观看| 亚洲视频精选在线| 欧美日韩国产精品自在自线| 激情综合视频| 欧美一区三区三区高中清蜜桃| 亚洲午夜精品久久| 欧美全黄视频| 亚洲黄一区二区| 亚洲精品美女久久久久| 蜜桃av一区二区三区| 国产一区二区三区四区在线观看| 亚洲在线观看| 亚洲免费伊人电影在线观看av| 欧美日韩一区二区三区在线| 亚洲激情校园春色| 亚洲巨乳在线| 欧美日本高清| 亚洲人成高清| 亚洲作爱视频| 欧美日韩一区二区在线观看 | 亚洲啪啪91| 欧美成年人视频| 亚洲国产高清高潮精品美女| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久久久国产一区二区| 国模 一区 二区 三区| 久久国产一二区| 久久一二三国产| 永久免费精品影视网站| 亚洲欧洲免费视频| 欧美高清成人| 亚洲美女视频在线观看| 亚洲特级片在线| 欧美视频在线免费看| 一区二区三区四区精品| 亚洲欧美制服中文字幕| 国产美女精品一区二区三区| 欧美一级免费视频| 久久影院午夜论| 亚洲国产精品久久久久婷婷老年| 亚洲精品中文字幕有码专区| 欧美日韩卡一卡二| 中文国产成人精品| 欧美伊人久久久久久午夜久久久久| 国产亚洲综合精品| 亚洲欧洲在线一区| 欧美日韩一区二区三区在线看| 亚洲视频免费看| 久久精品免费观看| 在线看日韩av| 亚洲婷婷综合色高清在线| 国产精品视频999| 欧美在线一区二区| 欧美电影在线免费观看网站| 日韩视频免费观看高清在线视频 | 国产一区二区三区在线观看免费| 亚洲电影免费观看高清完整版在线| 快she精品国产999| 亚洲精品在线观看视频| 亚洲一区在线免费观看| 亚洲女女做受ⅹxx高潮| 久久精品123| 一区二区三区在线免费视频| 亚洲另类在线视频| 亚洲欧美日韩视频二区| 一区二区动漫| 国产精品久久久久一区| 亚洲欧美在线网| 久久影院亚洲| 亚洲美女在线一区| 欧美一级精品大片| 影音先锋中文字幕一区| 亚洲深夜激情| 国产在线观看91精品一区| 99国产精品一区| 国产日产欧产精品推荐色| 亚洲欧洲精品一区二区三区| 欧美午夜精品一区| 久久精品观看| 欧美视频网站| 亚洲国产欧美一区二区三区同亚洲 | 激情自拍一区| 亚洲在线观看视频| 国模大胆一区二区三区| 亚洲性图久久| 在线日韩av片| 性做久久久久久免费观看欧美 | 午夜国产精品影院在线观看| 136国产福利精品导航| 亚洲在线视频免费观看| 今天的高清视频免费播放成人 | 久久精品五月| 国产精品男女猛烈高潮激情 | 日韩午夜精品| 国内精品**久久毛片app| 亚洲视频在线一区| 狠狠综合久久av一区二区老牛| 亚洲视频精选| 亚洲国产91| 久久免费黄色| 亚洲影院色在线观看免费| 欧美日韩99| 亚洲精品国产精品久久清纯直播| 国产麻豆精品theporn| 中国女人久久久| 91久久久久久久久久久久久|