鑑於目前大多數 Android 裝置都停留在 5.1 到 8.1 版本之間,
且 Android 版本碎片化的問題看來已隨著 Android 8.0 上市的 「Project Treble」改善許多.
截至2019年5月7日,以下是不同的Android版本的用戶比例:
希望能藉此機會讓自己更深入 Android 開源碼的同時,
也讓各個開發者能以更親切的中文說明找到你想要的答案.
當然小弟弟本身也是抱著學習的心態踏入這未知的領域,
若有什麼不對或需要補充的地方, 還請各位大大們不吝指摘 :)
廢話不多說, 讓我們看下去!
Android Pie 主打 AI 應用,
未來會逐一詳細介紹及應用:
室內 WiFi 定位支援 ( WiFi-RTT ):
為 IEEE 802.11mc Wi-Fi 協議添加了平台支持 (Round-Trip-Time 往返時間),
可以讓用戶在應用中使用室內定位功能。
在提供硬件支持的 Android 9 設備上,Settings > Location 啟用並勾選 "允許獲取地理位置信息"
選項後,
應用就可以使用 RTT API 測量與附近 Wi-Fi Aware device 間的距離,
進而將多個 device 和 AP 間的距離利用多點定位演算法來做定位,
當然 WiFi AP 也要支援 IEEE 802.11mc 才行。
個人觀點:
這部份很感興趣,
但是要找到目前市面支援 IEEE 802.11mc 的 AP 或 device,
我想這會是第一個困難的地方,
但應該也沒什麼問題,
找不到就自己做一個出來! XD
動態電量管理 ( Adaptive Battery ) :
利用機器學習技術對系統資源進行有限分配.
它能夠記錄用戶最常用的應用, 並為這些應用優先分配電量;
而一些不常用的應用則會被智能休眠, 從而保證充足的電池續航時間.
個人觀點:
不知道為什麼看到動態管理再搭配 ML 就很害怕 (汗),
但說穿了再怎麼動態, 還是有一套規則可依循.
這一部份可能會比較龐大,
未來會看狀況和客製化方向決定是否深入追 code.
多相機支援 ( Multi-camera support ) :
開發人員現在可以使用來自兩個或更多物理攝像頭的串流創建身歷其境的體驗,
例如在具有雙前置或雙後置攝像頭的設備上.
範例包括深度,散景,立體視覺等.
個人觀點:
先前版本其實各一顆前, 後鏡頭應用比較常見.
這次版本表示可以適配多個前, 後鏡頭,
應該很明顯就是為了 Machine Learning 或其他影像識別的應用.
很期待在 HAL 層會怎麼樣去分配多個 UVC Camera.
全面屏支援 ( Edge-to-edge screens ) :
支援 18:9 瀏海全面屏 (不規則面屏)
可以使用類似 windowInsets.getDisplayCutout() 來獲取一些你想要的信息.
個人觀感:
在一些常見的客製化需求中,
不難看到隱藏狀態欄和通知欄,
或是支援不同解析度的 LCD 或 Touchpad.
看來以前那一套辦法不能直覺地拿來用了.
到時候見招拆招即可.
說實在地, 畢竟不是 ODM,
希望能盡量以一個 BSP 的角度來闡述出 Android 很多面向.
但以一個 OEM 的角度, 來看一整個局勢畢竟有限.
所以就我所能見的盡量分享,
希望能對大家有所幫助 :)
Android 9 Pie - Get all features:
https://www.android.com/versions/pie-9-0/
Wikipedia - Android Pie:
https://zh.wikipedia.org/wiki/Android
https://zh.wikipedia.org/wiki/Android_Pie