Android4.1 新功能 新特性

jopen 12年前發布 | 51K 次閱讀 Android4.1

歡迎來到Android4.1,果凍豆!

Android4.1是迄今為止最快、最流暢的Android版本,我們已經對整個平臺進行了改進,并且為用戶和開發人員增加了大量的新功能。本文檔僅僅是Android4.1新功能的冰山一角。

詳情請參考Android4.1 APIs文檔來詳細了解最新的開發人員APIs。

Android4.1 新功能 新特性


更快、更流暢、更靈敏

 

優化的Android4.1能夠提供最好的展現形式和實現最低的觸摸延遲,提供一個簡單易用、容易操作的用戶界面

為了確保一致的幀頻,Android擴展了垂直同步調速(vsync timing)來實現Android框架處理所有的圖片和動畫。一切都運行在步調一致、16毫秒的垂直同步心跳機上——包括程序渲染、觸摸事件、屏幕構成和顯示刷新——所以幀不會提前或者延后。

同時為了獲得更加一致的渲染,Android4.1在圖形管道上添加了三重緩沖(triple buffering)技術,能夠使一切感覺更順暢,比如從滾動到分頁和動畫。

 

增強的輔助功能-Enhanced Accessibility

 

Android4.1既通過同步觸摸vsync timing來減少觸摸延遲,又通過預測你的手指將在那里來刷新屏幕來減少觸摸延遲。這樣就可以得到更容易和更均勻的觸摸響應。。此外,在activity不活動之后,Android會申請一個CPU input boost 來確保在下次觸摸事件時沒有延遲。

Tooling可以幫助你得到應用程序的完全的最佳性能,現在Android4.1的設計中,支持工作的一個新工具是systrace,它能夠直接從Linux內核采集數據來生成一個系統所有活動的整體的圖。采集來的數據被表示為一組垂直堆疊起來的時間序列圖表,用來幫助隔離渲染中斷和其他問題,現在這個工具在Android SDK中已經可用了(Tools R20 或者更高)。

Android4.1 新功能 新特性

 

支持國際用戶


雙向文本和其他語言支持

 

Android4.1通過在TextView and EditText 元素中支持雙向文本可以幫助你贏得更多的用戶。應用程序可以按照從左到右或從右到左的腳本顯示文本或者處理文本編輯。應用程序可以使用新的阿拉伯語、希伯來語地區及相關字體。

其他類型新語言的支持包括:

  • 追加的印度語言:埃納德語,泰盧固語,馬拉雅拉姆
  • 新繪文字字符的Unicode 6.0版
  • 對日本用戶來說更好的字形支持(比如當系統語言設置為日語時對日本特有版本的字形的渲染)
  • 阿拉伯語字形在WebViews上進行了優化,除了TextViews。
  • 在WebViews中支持垂直文本,包括Ruby文本和其他垂直文本字形
  • 合成粗體現在可以用于所有沒有專門粗體字形的字體

Android4.1 新功能 新特性

 

用戶可安裝的鍵盤映射

 

該平臺現在支持用戶安裝鍵的盤映射。比如支持其他的國際鍵盤和特殊布局類型的鍵盤。在默認情況下,Android4.1包含27種國際鍵盤,包括 Dvorak。當用戶連接一個鍵盤的時候,他們可以設置程序選擇一個或多個他們想用的鍵盤。當打字的時候,用戶可以使用快捷鍵(比如Ctrl- Space)在鍵盤布局之間進行切換。 你可以創建一個鍵盤映射發布到系統中。這個APK應該包括鍵盤布局資源文件,基于標準的Android鍵盤映射格式。這個應用程序要想給用戶提供自定義的 鍵盤布局需要在應用程序的manifest文件中聲明一個合適的廣播接收器(ACTION_QUERY_KEYBOARD_LAYOUTS )。

 

構造更美的UI


擴展的通知功能

 

擴展的通知,讓你在顯示更多類型的通知內容。用戶可以用一個簡單的手勢展開他們。通知功能早已是Android上獨特并受歡迎的功能。在不影響應用程序的UI的情況下,開發人員可以在通知欄把重要的或基于時間的信息,顯示給用戶。

Android 4.1對Android通知框架進行了重大的更新。應用程序現在可以通過點選展開或者折疊來顯示更大,更豐富的通知。通知支持新的內容類型,包括照片,優先級的配置,甚至可以包括多個動作。

通過改進通知的使用,應用程序可以創建的使用面積較大,高達256 DP的高度的通知信息。三個模板的通知樣式可供選擇:

  • BigTextStyle - 通知,其中包括一個多TextView的對象。
  • BigInboxStyle - 通知顯示任何類型的消息,標題等,如清單。
  • BigPictureStyle - 如位圖,展示視覺內容的通知。

除了模板的樣式,你可以使用任何遠程視圖創建你自己的通知顯示方式,。

應用程序在通知內容下,可以添加三個動作。讓用戶以替代辦法直接回應通知信息。如不通過應用程序訪問電子郵件或電話。

使用可擴展的通知,應用程序可以輕松地提供更多的信息給用戶。用戶還可以長按任何通知,以獲取有關通知發送者的信息,并選擇禁用應用程序的進一步通知。

Android4.1 新功能 新特性
通知的擴展,讓你看到更多類型的通知內容。用戶可以用一個簡單的手勢展開他們。

 

大小可調整的應用程序小部件

 

應用小工具,可以自動調整,以適應主屏幕,其大小變化時加載不同的內容。Android的4.1引入了改進的應用小工具,可以按照用戶拖動到的主屏 幕的位置,主屏幕上提供的總空間大小,自動調整大小。新的應用程序部件的API,讓你利用這一優勢,以優化您的應用程序部件大小的變化時,Widget的 大小。

當一個部件的變化大小,系統通知主機應用程序的部件供應商,可以重新在widget的內容需要。例如,一個widget可以顯示更大,更豐富的圖形或額外的功能或選項。開發人員仍然可以保持最大和最小尺寸的控制,并在需要時可以更新其他部件選項。

你的部件,還可以提供單獨的橫向和縱向布局,適當的屏幕方向改變時系統膨脹。

應用部件現在可以顯示在第三方發射器和其他宿主應用程序通過一個新的綁定意向書(AppWidgetManager.ACTION_APPWIDGET_BIND)的。

Android4.1 新功能 新特性
應用程序窗口小部件可以自動調整大小以適應主屏幕,并可以加載不同的內容以適應其尺寸變化。

 

簡化的任務導航

 

Android 4.1使您更容易從您應用程序管理頂部導航欄,并有助于確保用戶一致的體驗。

在應用的manifest文件添加新的XML屬性,可以實現頂部導航欄中定義UI中獨立的Activity組件功能。你可以。在運行時,隨著活動的 推出,該系統manifest文件中提取的最多的導航樹,并自動創建在操作欄中向上的啟示導航。開發誰申報清單導航不再需要管理導航在運行時的回調,但它 們也可以這樣做,如果需要的話。

也可以是一個新的TaskStackBuilder類,讓你趕緊把一種人工合成的任務堆棧立即啟動或PendingIntent啟動時使用的一個活 動。創建一個合成任務堆棧是特別有用的,當用戶從偏遠的意見,如從主屏幕小部件和通知,推出的活動,因為它讓開發人員提供托管的,一致的體驗,回到導航。

 

Activity Lanuch 的簡易動畫

 

您可以使用一個新的helper類,ActivityOptions,創建和控制,動畫顯示,當您啟動您的活動。通過輔助類,你可以指定自定義動畫資源活動啟動時要使用的,或要求新的縮放動畫開始從任何你指定在屏幕上,并選擇性地包括一個縮略圖位圖的矩形。

 

燈輸出和全屏模式的轉換

 

新的系統UI視圖中的標志,讓你干凈的過渡,或從一個正常的應用程序界面(操作欄,導航欄,系統欄可見),“燈輸出模式”(狀態欄和操作欄隱藏和導航欄變灰) “全屏模式”(狀態欄,行動起來吧,所有隱藏的導航欄)。

 

新的remoteable Views 類型

 

開發人員現在可以使用GridLayout的ViewStub在主屏幕小部件和通知的意見。GridLayout的讓你構建遠程意見的內容和管理與 較淺的UI層次結構中,兒童的意見路線。ViewStub是一種無形的,零大小的視圖,可用于懶洋洋地膨脹在運行時的布局資源。

 

生活壁紙預覽

 

Android 4.1使得它更容易為用戶尋找和安裝現場壁紙,包括他們的應用程序。如果您的應用程序,包括現場壁紙,你現在可以開始一個活動 (ACTION_CHANGE_LIVE_WALLPAPER),顯示了用戶從自己的應用程序的動態壁紙預覽。從預覽,用戶可以直接加載動態壁紙。

 

更高分辨率的聯系人照片

 

與Android 4.1,你可以存儲聯系人的照片,如大型720×720,使接觸更豐富,更個人。應用程序可以在該大小的存儲和檢索聯系人的照片,或使用任何其他需要的大 小。在特定設備上支持最大的照片尺寸可能會有所不同,所以應用程序應該查詢內置的接觸供應商,在運行時獲得當前設備的最大尺寸。

 

新的輸入類型和功能


弄清有關設備添加和刪除的情況

 

當有新的設備接進來的時候,比如通過USB,藍牙,或任何其他連接類型,應用程序會通過注冊的方式得到通知,他們可以使用這些信息來改變狀態或需要的功能。比如說一個游戲應用程序可能會接收到這樣一個通知:有一個新鍵盤或者搖桿接進來了,這表明一個新成員加入了。

 

查詢輸入設備的功能

 

Android4.1包含很多輸入設備功能的APIs,這些APIs能夠讓應用程序和游戲充分利用那些接入并有效的輸入設備的功能。 應用程序可以查詢設備管理器來枚舉當前連接的所有的輸入設備,并了解每個的功能。

 

控制輸入設備上的振動器

 

在其他功能中,應用程序現在可以使用任何一個接入的輸入設備的相關震動服務,比如震動卡(Rumble Pak )控制器。

 

Animation and Graphics-動畫和圖形


應用程序中的的垂直同步(Vsync)技術

 

整個Android框架擴展VSYNC會產生一個更加一致的幀頻和流暢、穩定的UI。所有的app都將受益,因為Android4.1擴展的Vsync計時會影響到用戶引用程序初始化的繪圖和動畫。這能讓他們在UI線程上優化操作,并提供了一個穩定的同步基。

應用程序可以免費利用VSYNC計時的優勢,通過Android的動畫框架。動畫框架現在使用VSYNC計時自動處理整個動畫的同步。

需要特殊用途的話,應用程序可以通過Choreographer類的API訪問VSYNC計時功能。應用程序可以要求在下一個VSYNC幀進行驗 證,這是不用動畫框架的情況下的一個很好的安排動畫的方式。更高級的用法是,應用程序可以再Choreographer類中傳遞回調函數,這個會在下一幀 中調用。

 

新動畫和過渡類型

 

現在的動畫框架允許你定義當開始和結束運行ViewPropertyAnimator動畫時采取的行動,幫助他們與其他動畫或應用程序中的行動進行同步,可以運行任何Runnable對象。例如,該Runnable對象可以指定另一個動畫在前一個動畫完成后開始啟動。

你現在也可以指定一個ViewPropertyAnimator在動畫過程中使用一個層。在此之前,最好的做法是動畫完成前建立一個層,然后在 onAnimationEnd()事件處理動畫時刪除層。現在,ViewPropertyAnimator中的withLayer()方法能夠簡化這個過 程,每次只需要調用一個函數就行。

LayoutTransition中的一個新的過渡類型可以自動響應一個ViewGroup布局的變化動畫。

 

新的交流方式


Android Beam

 

Android Beam是一種流行的基于NFC的技術,它能夠讓用戶在兩個有NFC功能的電話接觸之時馬上分享信息。

在Android4.1中,Android Beam使得圖片、視頻和其他需要藍牙來進行傳輸的數據分享變得更加容易。當用戶觸發傳輸時,Android Beam通過NFC到藍牙的傳輸方式,使得從一個設備傳輸文件到另一個設備變得非常容易。

 

wifi網絡服務發現

 

Android 4.1引入了支持基于組播DNS服務的發現,它可以讓應用程序查找和連接到對端設備通過Wi-Fi網絡所提供的服務 - 包括移動設備、打印機、數碼相機、媒體播放器、以及其他服務。開發人員可以利用Wi-Fi網絡服務發現的優勢,建立跨平臺或多人游戲和應用。

使用服務發現的API,應用程序可以為任何支持NSD的設備創建和注冊任何種類的服務。服務通過組播在網絡上使用方便可讀的字符串標識符,它可以讓用戶更容易識別服務的類型。

消費電子設備可以使用API進行掃描,發現當地的Wi-Fi網絡連接的設備提供的服務。發現后,應用程序可以使用API來得到服務的IP地址和端口,通過它可以建立一個套接字連接。

你可以利用這個API的優勢,做成您的應用程序的新功能。例如,你可以做一個讓用戶連接到一個攝像頭、打印機、或其他移動設備支持的Wi-Fi對等連接的應用程序。

 

WiFi的直接服務發現

 

Android冰淇淋三明治版本中引入wifi直連技術也就是讓應用程序發現和匹配高帶寬的對等連接的技術的支持。 Wi-Fi直連是一個理想的方式來共享媒體、照片、文件和其他類型的數據和會話,即使那里沒有手機網絡或Wi-Fi的可用。

在Android果凍豆版本中,Android進一步的提供Wi-Fi直連特性,增加相關服務發現API的支持。前相關的服務發現可以讓你的應用程 序在跟附近設備連接前獲得更多關于他們服務支持的的信息。應用程序可以啟動特定服務的發現并篩選那些真正支持目標服務或應用程序的設備列表。

例如,這意味著你的應用程序可以發現有打印功能或有一個特定的游戲的設備,而不是發現附近所有的Wi-Fi 直連設備。另一方面,您的應用程序可以發布到其他設備的服務,其他設備可以發現它,然后建立一個連接。這大大簡化了為用戶發現和配對,讓應用更有效的利用 Wi-Fi直連的優勢。

有了Wi-Fi直接服務發現,你可以創建可以共享所有照片、影片、游戲、分數、或幾乎任何其他數據的無需任何互聯網或移動網絡的應用程序和多人游戲。您的用戶可以使用只有一個直接的P2P連接,從而避免了使用移動帶寬連接。

 

網絡帶寬管理

 

Android 4.1應用程序管理數據時使用適當的設備連接到計量網絡,包括移動熱點。應用程序可以查詢當前網絡是否能開始大量下載,否則可能會給用戶帶來昂貴的網絡費 用。通過該API,您現在可以得到清晰的關于哪個網絡是數據敏感的信息,并相應地能夠管理您的網絡活動。

 

全新的多媒體功能


多媒體解碼器訪問

 

Android 4.1提供低級的平臺硬件和軟件解碼器訪問。App可以查詢系統,發現怎么樣的低級的多媒體解碼器在設備上是可用的。比如,你現在可以創建多個多媒體解碼 器實例, 隊列進入輸入緩存,并接收返回的輸出緩存。而且,這多媒體解碼器框架支持被保護的內容。App可以通過設備上的DRM方式查詢有訪問被保護內容權限的解碼 器。

 

USB音頻

 

USB音頻輸出支持硬件廠商生產像audio docks那樣的硬件,它與Android設備對接。這個功能在ADK中同樣開放,所有的開發者可以創造自己的硬件了。

 

音頻記錄觸發

 

在音頻播放軌跡的基礎上,Android現在可以觸發音頻記錄。在有些情況很有用,比如播放一個提示音來提示你的用戶開始說話記錄他們的聲音。這個特性幫你同步記錄,你不必再為播放和記錄太遲而發惱了。

 

多聲道音頻

 

Android 4.1 在有多聲道HDMI端口的設備上支持多聲道音頻。多聲道音頻使你的應用更加豐富用戶的音效體驗,比如游戲、音樂軟件、視頻程序。 不支持的設備,Android會自動混合音頻,通道數為設備所支持的數量(通常為立體音)。Android 4.1還內置支持編碼、解碼AAC音頻5.1。

 

音頻預處理

 

開發者可以在記錄時對音頻應用預處理效果,就像應用降噪來提升錄音質量,回聲消除, 和通過不同的音量進行增益控制。需要高質量和干凈音頻記錄的App將會在這些預處理中獲益。

 

音頻鏈接

 

播放器支持鏈接音頻流在一起播放而不產生停頓。這對需要在不同的音頻文件無縫轉換的App很有用,比如播放連續的唱片或者游戲音樂。

 

媒體路由

 

新的API里MediaRouter, MediaRouteActionProvider,和MediaRouteButton對選擇哪里播放媒體提供標準的機制和UI。內置支持有線耳機和a2dp藍牙耳機和揚聲器,而且在你的應用中你可以添加自己的路由設置。

 

Renderscript計算

 

Android 4.1擴展了Renderscript計算,為我們帶來了更多的靈活性。現在,你可以在Renderscript代碼內嘗試紋理, 新的程序可用來定義浮點精度所需的腳本。這使你開啟NEON指令就像在CPU路徑上的速度向量操作, 其他不可能在IEEE 754-2008標準。

現在,你可以編譯你的Renderscript計算腳本在x86的設備或者硬件上。 你也可以定義多root類型內核在一個Renderscript源文件。

 

Android瀏覽器和WebView組件

 

在Android4.1中,Android瀏覽器和WebViews增強了以下功能:

  • 更好的HTML5視頻的用戶體驗,比如按下播放、暫停鈕的用戶體驗和從內嵌到全屏模式的平穩過度。
  • 改進了滾動和縮放的渲染速度,減少其內存使用,使其獲得更好的顯示性能。
  • 改進了HTML5/CSS3/Canvas的動畫性能.
  • 增強了文本輸入組件。
  • 更新了JavaScript引擎(V8)。
  • 支持HTML5中的獲取多媒體圖像規范Media Capture(輸入類型中的"capture"=文件元素名)。

谷歌API和服務

 

在新版本中,Android系統獲得了一些新的服務。

 

Android云通訊

 

谷歌云消息服務(簡稱GCM)允許Android開發者發送短信給Android用戶,而無需特有的同步解決方案。
GCM會處理隊列消息的所有細節并能高效的支持Android設備。它支持多點傳送(群發,一個請求可最多連接1000個設備)。也支持高負載的消息,這意味著,開發者不光能發送很短的數據,最多也可發送高達4K的數據。
GCM是完全免費的,注冊也很方便,更多關于GCM的信息請參閱GCM介紹

 

應用程序加密

 

從Android4.1開始,GooglePlay(谷歌在線應用商店)會通過給每一個應用程序在安裝到Android設備之前進行密鑰加密來保護程序的的支付等方面的安全。

 

智能的程序更新

 

智能的更新程序是GooglePlay推出的新功能,這是一種更好的更新應用程序的途徑。當開發者們發布了更新的產品,GooglePlay只會發 送需要更新的那一部分到設備中,而不是整個APK程序,這樣使更新的內容變得更小,更方便的下載更新,減少設備上的耗電量和移動數據的流量。平均一次智能 更新的下載大小約是更新完整APK程序的三分之一。

 

GooglePlay 服務(即將推出)

 

GooglePlay 服務幫助開發者集成Google的服務到開發的應用程序上,比如認證和Google+。
谷歌應用商店給用戶設備自動配置谷歌應用商店服務,這些服務不需要開發者關心,這樣你的應用程序就成了擁有輕量庫文件的瘦客戶端。
因為你的程序有更小的客戶端庫文件,你可以減小下載文件和存儲空間的大小。此外,不需要開發人員發布程序更新,GooglePlay將提供定期的更新服務。

更多關于GooglePlay服務的介紹,請參閱Google Play Services頁面。

原文地址:http://wiki.eoeandroid.com/index.php?title=Android_4.1_for_Developers&diff=prev&oldid=4289

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!