成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

Adobe AIR 3新特性(支持iOS和Android平臺)

2011-09-22 09:00:56來源:作者:

自從2008年發布了第一個版本,Adobe AIR已經走過了很長的一段路。在此期間,我們為AIR增加了幾十個較大的特性,上百個較小的特性,性能優化和錯誤修復,并且我們支持3個額外的平臺:iOS (iPhone和iPad),Android, 和

自從2008年發布了第一個版本,Adobe AIR已經走過了很長的一段路。在此期間,我們為AIR增加了幾十個較大的特性,上百個較小的特性,性能優化和錯誤修復,并且我們支持3個額外的平臺:iOS (iPhone和iPad),Android, 和Adobe AIR for TV.

AIR 3將是我們在不到兩年半的時間里的第11個發行版本。雖然我們每次的發行版都代表了很大的進步,但我個人覺得這次是非比尋常的。AIR 3包括以下新的API和特性:

 

  • Stage3D(桌面特性)。Stage3D是一個底層的,具備硬件加速的二維和三維渲染的 API。對于AIR 3,目前這些API只能在AIR的桌面版本中使用,然而,未來這些特性也將進入移動設備。Stage3D是一個非常重要的特性,它的意義之大讓我們感到言語都難以描述,您可以從這里得到更加詳細的信息, 請參閱Stage 3D頁面。
     
  • 本地擴展 (所有平臺)。這又是一個重要的特性。從AIR 3的版本開始,開發者可以通過綁定本地擴展和應用程序,來增強AIR運行時的功能,然后他們就可以在ActionScript中調用那些擴展(這個特性原先只在Adobe AIR 2.5 for TV中存在,但是基于AIR 3,這個特性在所有的平臺可用)。您可以認為Adobe AIR本地擴展(簡稱ANEs)就是ActionScript庫(SWCs),只不過是包含了本機代碼實現。ANEs的適用場合,包括讓您的應用程序訪問 AIR所不支持的原生API(見下面的例子),并授權在某些情況下訪問本機代碼,以達到更好的性能。關于更多AIR 3本地擴展的信息,請參閱奧利弗.高盛的這篇文章:擴展Adobe AIR
     
  • Android Market的授權集成 (顯然只支持Android)。使用ANE文件,開發人員可以訪問Android Market的授權服務,讓發布者執行許可政策。這是一個能體現ANE強大特性的很好的例子:因為這個特性(授權服務)在iOS中是不可用的,所以我們不會把它作為AIR的直接支持的功能;但是,ANE可以保證我們運行于Android設備的AIR應用可以很輕松的訪問這些API。
     
  • 運行時捆綁 (Android和桌面)。在之前的版本中,需要您的最終用戶在安裝您的應用之前,已經安裝了AIR的運行時(如果沒有,則必須先安裝AIR運行時),如果您想改變這個過程(讓您的應用程序安裝過程和其它本地安裝的應用程序沒有區別),或者您是想控制您的應用程序運行所需的AIR版本,AIR 3允許您捆綁AIR運行時和您的應用程序。捆綁運行時非常容易,當您構建一個Android應用時可以設置apk-captive-runtime變量,如果是構建桌面應用,則可以設置bundle變量。(注意在iOS上AIR一直使用一個捆綁的運行時,雖然其機制不太相同。)
     
  • 背景音頻播放 (對于iOS是新特性;在Android上之前就被支持了)。由于iOS獨特的多任務模式,在之前如果我們想在AIR應用處于非活動狀態的時候繼續播放音頻,是不可能的。在AIR 3中,您所需要做的只是修改您的應用程序描述文件,聲明您需要播放背景音樂,然后它會自動工作。(基本上,當應用程序被放置到后臺程序中,它將繼續運行。但是,所有的屏幕更新將被禁用,以保持電池壽命,并符合iOS的多任務要求。)
     
  • 在iPad對CameraRoll的支持。雖然CameraRoll在技術上已經被iPad支持,但是我們在AIR 3中增加了很多更好的支持。在iPad上,圖片選擇器不再占用整個屏幕,在iPhone和iPod touch上也是如此。相反,它會在調用它的UI組件的相對位置上,出現一個浮動的面板。使用額外的CameraRollBrowseOptions類,開發人員可以選擇圖像選擇器的大小和位置,并指定調用它的UI組件的位置。欲了解更多信息和代碼示例,請參閱我的博客文章, 如何正確使用iPad上的CameraRoll API 。
     
  • 視頻硬件加速 (移動設備):AIR 2.5通過StageVideo為TV帶來了視頻硬件加速;現在AIR 3則為移動設備也提供了StageVideo。
     
  • 本機文本字段(移動設備) 。之前版本的AIR提供給開發者訪問底層渲染的能力,比如StageVideo (視頻硬件加速)和StageWebView (本地的HTML渲染)。AIR 3提供了StageText的API,它允許開發人員將系統原生的文本字段放置在移動應用程序中。雖然您仍然可以使用Flash文本字段,但是 StageText文本字段可以使用所有操作系統底層支持的特性,比如放大鏡,文本選擇,自動更正等等。
     
  • 前置攝像頭支持 (iOS和Android)。現在ActionScript的攝像頭API可以訪問 iOS和Android設備的前置攝像頭和后置攝像頭(如果是Android設備,至少需要2.3的版本)。您可以使用新的 Camera.position屬性以及新CameraPosition類中的常量(背部,正面,和UNKNOWN)來確定攝像機的位置。欲了解更多信息和代碼示例,請參閱我的博客文章, AIR 3前置攝像頭支持 。
     
  • 移動設備的加密本地存儲(帶來了臺式機和移動設備之間的等價實現)。EncryptedLocalStore的API曾經只在桌面上可用,現在則進入了iOS和Android。這個API用于安全地存儲用戶憑據,加密密鑰,私密信息,和類似的重要信息。
     
  • 設備揚聲器控制 (移動設備)。使用新的SoundMixer audioPlaybackMode屬性,和新的AudioPlaybackMode類中的常量(媒體和語音),開發人員可以控制是否是通過電話的聽筒或揚聲器播放音頻。
     
  • 原生JSON支持 (移動和臺式機)。原先只能使用ActionScript來解析JSON,現在則是由運行時提供更有效的原生JSON支持。相對于ActionScript實現,原生的JSON API的速度更快,使用更少的內存。欲了解更多信息和代碼示例,請參閱我的博客文章, AIR 3中的原生JSON支持 。
     
  • 套接字(Socket)改進(移動和桌面)。曾經我們認為應該很容易的通過 ProgressEvent.SOCKET_DATA來讀取從網絡傳到ActionScript套接字緩沖區的數據,并確定有多少個字節可供讀取(Socket.bytesAvailable)。然而,事實尚非如此。換句話說,在AIR 3之前,沒有辦法知道有多少數據從ActionScript套接字成功地寫入了網絡的緩沖區,也不可能知道有多少數據正在等待被寫入。這導致開發者不確定調用套接字的關閉是否是安全的,或知道當用戶想關閉應用程序的時候,是否有一個網絡進程還在處理中。通過AIR 3,開發人員可以使用OutputProgressEvent.OUTPUT_PROGRESS事件和Socket新屬性.bytesPending,以確定有多少數據被寫入到網絡,多少數據在ActionScript套接字中仍在等待寫入。這些新的API可以幫助我們構建更強壯的依賴套接字網絡訪問的應用程序。欲了解更多信息和代碼示例,請參閱我的博客文章, AIR 3中套接字的改進 。
     
  • H.264視頻編碼 (桌面)。您可以將攝像頭捕獲的視頻基于H.264進行編碼。
     
  • JPEG XR的支持 (移動和臺式機)。AIR 3現在支持JPEG XR,一個新的文件格式,相比JPEG有幾個優點。例如,JPEG XR提供了更好的壓縮率,更小的壓縮損失,更準確的色彩,和Alpha透明度。欲了解更多信息,請查閱Wikipedia上的JEPG XR文章
     
  • 更高分辨率的位圖(移動和桌面) 。在之前的AIR中,位圖被限制為16萬像素(16777215像素)和8191的最大寬度/高度。在AIR 3中,所有的限制已被刪除,這意味著現在的最大尺寸是由主機操作系統決定的,而不是AIR限制的。
     
  • 多聲道數字音頻輸出 (只支持AIR for TV)。現在電視上的Adobe AIR可以播放杜比數字+ 5.1環繞聲和DTS 5.1音頻流。新的Capabilities.hasMultiChannelAudio屬性,新的AudioDecoder類(其中包含代表幾個不同的多聲道音頻類型的常量),和Capabilities.serverString屬性,都可以讓開發者來檢測設備的多聲道音頻功能,并從 ActionScript中通過RTMP協議輸出正確的音頻比特流。
     
  • 高級控制器支持 (只支持AIR for TV)。使用新的GameInput API,開發人員可以構建基于高級電視控制器的游戲。一些新的API允許枚舉設備(可用控制器),枚舉設備的控制功能(按鈕,觸發器,加速度等),并從設備中得到控制值。
     
  • 更容易刪除一個容器的所有的子元件 (所有平臺)。DisplayObjectContainer現在已經具備了removeChildren()函數,它可以只用一個方法刪除所有的子元件。這當然比下面的操作更有效:
    (this.numChildren> 0)this.removeChildAt(0)
     
  • 更容易判斷MovieClip是否在播放 (所有平臺)。通過使用新的isPlaying屬性,可以很容易判斷一個電影剪輯是否在播放。
     
  • GC建議的API(所有平臺)。新的System.pauseForGCIfCollectionImminent功能,可以讓AIR開發人員更好地控制運行時的自動垃圾回收機制。由于垃圾回收有可能造成動畫或音頻的暫停,開發者可以在用戶難以察覺的時候,使用這個方法鼓勵垃圾回收。
     
  • 安全隨機數生成 (移動和桌面)。Adobe AIR中一直有Math.random方法可用,返回“偽隨機”的數字,也就是說,這似乎是隨機的,但總是包含一些非隨機性(比如時間戳)的數字。AIR 3提供了一個用于生成隨機數的新方法,稱為generateRandomBytes(),位于flash.crypto包。由于 generateRandomBytes()函數使用操作系統API來產生隨機數(在Windows上是CryptGenRandom ,在OSX上是/dev/random , 在Android上是/dev/urandom, 在iOS上則是SecRandomCopyBytes),由此產生的隨機數更有效,更安全。
     
  • 三次貝塞爾曲線 (所有平臺) 。新的cubicCurveTo()方法是Graphics類的功能,允許您以編程方式繪制三次貝塞爾曲線,而且不使用第三方ActionScript代碼。

Adobe AIR 3作為一個候選發布版可以在Adobe實驗室中找到 。

編譯/瑞研社區
作者:克里斯汀.坎貝爾原文: http://www.adobe.com/devnet/air/articles/air3_whatsnew.html
關鍵詞:AdobeAIRiOSAndroid

贊助商鏈接:

主站蜘蛛池模板: 文安县| 无棣县| 邹城市| 漳州市| 仙游县| 固镇县| 紫金县| 丰县| 肥东县| 华安县| 伊吾县| 普安县| 和林格尔县| 莱西市| 通城县| 平泉县| 茶陵县| 西丰县| 合江县| 瑞丽市| 阳城县| 宿迁市| 繁峙县| 灵璧县| 三河市| 厦门市| 紫云| 逊克县| 龙里县| 民丰县| 广州市| 河北省| 手机| 县级市| 都兰县| 江山市| 醴陵市| 防城港市| 青龙| 客服| 榆林市|