[Android各版本特性]Android 5.0 Android Lollipop

[Android各版本特性]專欄目錄
01. Android API 版本對照表
02. Android 4.4以前版本特性
03. 爲什麼以Android4.4做分界線
04. Android 4.4 Kitkat
05. Android 5.0 Android Lollipop
06. Android 6.0 Marshmallow
07. Android 7.0 Nougat
08. Android 8.0 Oreo
09. Android 9.0 Pie
10. Android 10
11. 總結(推薦)

1.Material Design

  1. Android 5.0 爲 Android 引入了 Material Design,併爲您提供了擴充的 UI 工具包,更便於您在應用中集成新的設計模式。
  2. 內置的 Activity 轉換可讓用戶在賞心悅目的動畫中無縫完成狀態轉換。
  3. 爲您的應用中的按鈕、複選框以及其他觸摸控件提供了波紋動畫。
  4. 新增了一種名爲渲染線程的系統管理處理線程,即使是在主 UI 線程出現延遲的情況下,仍可保持動畫的流暢。

2.以性能爲中心

Android 在新的 ART 運行時上獨佔運行,這個全新開發的運行時支持混合使用預先編譯 (AOT) 代碼、即時編譯 (JIT) 代碼和解釋代碼。它支持 ARM、x86 和 MIPS 架構,並全面兼容 64 位。

ART 可改善應用性能和響應速度。高效的垃圾收集可減少 GC 事件的暫停次數和持續時間,讓事件能夠充分適應垂直同步窗口,以避免您的應用發生跳幀。ART 還能通過動態轉移內存來優化前臺使用的性能。

在 Android 5.0 中,ART 運行時取代 Dalvik 成爲平臺默認設置。Android 4.4 中已引入處於實驗階段的 ART 運行時。

有關 ART 的部分主要新功能包括:

  • 預先 (AOT) 編譯
  • 改進的垃圾回收 (GC)
  • 改進的調試支持

大多數 Android 應用無需任何更改就可以在 ART 下工作。不過,部分適合 Dalvik 的技術並不適用於 ART。如存在以下情況,應特別注意:

  • 您的應用使用 Java 原生接口 (JNI) 運行 C/C++ 代碼。
  • 您使用生成非標準代碼的開發工具(例如,一些代碼混淆工具)。
  • 您使用與壓縮垃圾回收不兼容的技術。

3.通知

Android 5.0 中的通知更醒目、更便於訪問並且可配置程度更高。

  1. 只要用戶願意,可在鎖定屏幕上顯示各種通知詳情。用戶可以選擇在安全的鎖定屏幕上顯示部分、全部或者不顯示任何通知內容。
  2. 來電等主要通知提醒出現在擡頭通知中 — 這個小浮動窗口讓用戶不必離開當前應用便能響應或拒絕通知。
  3. 您現在可以爲通知添加新的元數據,以收集相關聯繫人(用於排序)、類別和優先級。
  4. 新增的媒體通知模板通過多達 6 個操作按鈕提供一致的通知媒體控制,包括“點贊”等自定義控制—不再需要 RemoteViews 了!

4.高級連接

  1. Android 5.0 新增了允許應用利用藍牙低能耗 (BLE) 執行併發操作的 API,可同時實現掃描(中心模式)和廣播(外設模式)。
  2. 新增的多網絡功能允許應用查詢可用網絡提供的功能,例如它們是 WLAN 網絡、蜂窩網絡還是按流量計費網絡,或者它們是否提供特定網絡功能。然後應用可以請求連接並對連接丟失或其他網絡變化作出響應。
  3. NFC API 現在允許應用動態註冊 NFC 應用 ID (AID)。它們還可以設置每個活動服務的首選卡模擬服務,並創建包含 UTF-8 文本數據的 NDEF 記錄。

5.高性能圖形

對 Khronos OpenGL ES 3.1 的支持現在可在受支持設備上爲遊戲和其他應用提供最高性能的 2D 和 3D 圖形能力。

  1. OpenGL ES 3.1 添加了計算着色器、模具紋理、加速視覺效果、高質量 ETC2/EAC 紋理壓縮、高級紋理渲染、標準化紋理尺寸和 render-buffer 格式以及其他功能。
  2. Android 5.0 還引入了 Android 擴展包 (AEP),這組 OpenGL ES 擴展讓您可以訪問鑲嵌着色器、幾何着色器、ASTC 紋理壓縮、每採用內插和着色之類的功能,以及其他高級渲染功能。您可以藉助 AEP 在各類 GPU 上實現高性能圖形。

6.更強大的音頻功能

  1. 全新的音頻採集設計可提供低延遲音頻輸入。這種全新設計包括:在除讀取期間之外的任何情況下均不會發生堵塞的快速採集線程;採用原生採樣率、聲道計數和位深度的快速採集客戶端;以及提供重新採樣、上/下聲道混音和上/下位深度的正常採集客戶端。
  2. 多聲道音頻流混音允許專業音頻應用對多達八個聲道(包括 5.1 和 7.1 聲道)進行混音。
  3. Android 現在提供對標準 USB 音頻外設的支持,允許用戶連接 USB 耳機、揚聲器、麥克風或其他高性能數字外設。Android 5.0 還添加了對 Opus 音頻編解碼器的支持。
  4. 新增了用於控制媒體回放的 MediaSession API,現在可以更輕鬆地在各類屏幕和其他控制器上提供一致的媒體控制。

7.增強的相機和視頻功能

  1. Android 5.0 引入了全新的 Camera API,允許您採集 YUV 和 Bayer RAW 等原始格式,以及控制曝光時間、感光度和每一幀的幀持續時間等參數。新增的完全同步相機管道允許您在受支持設備上在 30 FPS 下采集未經壓縮的全分辨率 YUV 圖像。
  2. 通過網絡發送視頻流的應用現在可以利用 H.265 高效率視頻編碼 (HEVC) 來優化視頻數據的編碼和解碼。
  3. Android 5.0 還添加了對多媒體隧道的支持,以提供最佳超高分辨率 (4K) 內容體驗和同時播放壓縮音頻和視頻數據的功能。

8.屏幕採集和共享

Android 5.0 讓您可以爲應用添加屏幕採集和屏幕共享功能。
在用戶許可的情況下,如果您願意,可以從顯示屏採集非安全視頻並通過網絡提供採集的視頻。

9.新的傳感器類型

  1. 在 Android 5.0 中,新增的傾斜檢測器傳感器有助於改善受支持設備上的 Activity 識別,心率傳感器可報告觸摸設備者的心率。
  2. 新增的互動複合傳感器現在可以檢測“喚醒”手勢、“拿起”手勢和“掃視”手勢等特殊交互。

10.Chromium WebView

  1. Android 5.0 的初始版本提供了一版基於 Chromium M37 版本的 Chromium for WebView,添加了對 WebRTCWebAudioWebGL 的支持。
  2. Chromium M37 還提供對以下所有 Web 組件規範的原生支持:自定義元素陰影 DOMHTML 導入模板。這意味着您無需 polyfill 便可在 WebView 中使用 Polymer 及其 Material Design 元素。

11.用於開發省電應用的工具

  1. 新增的 Job Scheduling API 允許您通過將作業推遲到稍後或指定條件下(如設備充電或連入 WLAN 時)運行來優化電池壽命。
  2. 新增的 dumpsys batterystats 命令可生成電池使用情況統計信息,您可通過它瞭解整個系統的耗電情況,以及瞭解您的應用對設備電池的影響。您可以查看耗電事件歷史記錄、每個 UID 和系統組件的近似耗電情況以及其他信息。
    在這裏插入圖片描述
  3. 新增了“電池耗電歷史”工具,可將來自 dumpsys batterystats 的統計數據轉換成可視化格式,以便進行與電池有關的調試。您可以在 https://github.com/google/battery-historian 上找到該工具。

12.Android 5.0行爲變更

Android 5.0 除了提供諸多新特性和功能外,還對系統和 API 行爲做出了各種變更。

  1. Android NDK 中的 64 位支持
    Android 5.0 引入了對 64 位系統的支持。64 位增強功能可增加地址空間和提升性能,同時仍完全支持現有的 32 位應用。64 位支持也可改進用於加密的 OpenSSL 的性能。此外,該版本還引入了新的原生媒體 NDK API,以及原生 OpenGL ES (GLES) 3.1 支持。

  2. 綁定到服務
    Context.bindService() 方法現在需要顯式 Intent,如果提供隱式 intent,將引發異常。爲確保應用的安全性,請使用顯式 intent 啓動或綁定 Service,且不要爲服務聲明 intent 過濾器。

  3. WebView
    Android 5.0 更改了應用的默認行爲。

    如果您的應用是面向 API 級別 21 或更高級別:
    默認情況下,系統會阻止混合內容和第三方 Cookie。要允許混合內容和第三方 Cookie,請分別使用 setMixedContentMode() 和 setAcceptThirdPartyCookies() 方法。
    系統現在可以智能地選擇要繪製的 HTML 文檔部分。這個新的默認行爲有助於減少內存佔用和提升性能。如果您要一次渲染整個文檔,可通過調用 enableSlowWholeDocumentDraw() 停用此優化。

    如果您的應用是面向低於 21 的 API 級別:系統允許混合內容和第三方 Cookie,並始終一次渲染整個文檔。

  4. TLS/SSL 默認配置變更
    Android 5.0 針對 HTTPS 和其他 TLS/SSL 通信引入了對應用使用的默認 TLS/SSL 配置的變更:

    TLSv1.2 和 TLSv1.1 協議現已啓用,
    AES-GCM (AEAD) 加密套件現已啓用,
    MD5、3DES、導出和靜態密鑰 ECDH 加密套件現已停用,
    首選使用 Forward Secrecy 加密套件(ECDHE 和 DHE)。

    在下面列出的少數情況下,這些變更可能會導致 HTTPS 或 TLS/SSL 連接斷開。

    服務器不支持任何已啓用的加密套件
    應用對用於連接服務器的加密套件做出錯誤的假設
    服務器不支持 TLSv1.1、TLSv1.2 或新的 TLS 擴展

*12.常用API應該注意的部分

  1. Material Design 支持
    Android 5.0 添加了對 Android 的新 Material Design 樣式的支持。您可以創建具有 Material Design 功能的應用,實現動態視覺效果,利用其中的 UI 元素轉換賦予用戶自然的感覺。此支持包括:

    1.Material Design 主題
    2.視圖陰影
    3.RecyclerView 小部件
    4.可繪製動畫和造型效果
    5.Material Design 動畫和 Activity 轉換效果
    6.針對基於視圖狀態的視圖屬性的動畫生成器
    7.可自定義的 UI 小部件和具有可由您控制的調色板的應用欄
    8.基於 XML 矢量圖形的動畫和非動畫可繪製對象

  2. 計劃排定作業
    Android 5.0 新增了一個 JobScheduler API,允許您定義一些系統在稍後或指定條件下(如設備充電時)以異步方式運行的作業,從而優化電池壽命。下列情形下,作業計劃排定功能很有用:

    應用具有不面向用戶並且可以推遲的作業
    應用具有您更願意在設備插入電源時再進行的作業
    應用具有一項需要接入網絡或連接 WLAN 的任務。
    應用具有多項您希望定期以批處理方式運行的任務。
    一個作業單位由一個 JobInfo 對象封裝。該對象指定計劃排定標準。

    使用 JobInfo.Builder 類可配置應如何運行已排計劃的任務。您可以安排任務在特定條件下運行,例如:

    在設備充電時啓動
    在設備連入無限流量網絡時啓動
    在設備空閒時啓動
    在特定期限前或以最低延遲完成

*13.Android5.1常用API應該注意的部分

1.多 SIM 卡支持
Android 5.1 添加了對同時使用多個蜂窩運營商 SIM 卡的支持。有了此功能,用戶可以在具有兩個或多個 SIM 卡插槽的設備上激活和使用額外的 SIM。
2. 已棄用的 HTTP 類
Android 5.1 中已棄用 org.apache.http 類和 android.net.http.AndroidHttpClient 類。這些類將不再保留,您應儘快將使用這些 API 的任何應用代碼遷移至 URLConnection 類。

發佈了39 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章