關於Android Pie(Android 9.0),你想知道的都在這了

2018年8月7日-凌晨1點,谷歌發佈了Android 9.0操做系統,它的名字是Android 9,被命名爲Android Pie。讓咱們看看關於Android 9派你須要知道的一切。android

大綱以下:git

  • Android Pie 新特性有哪些?
  • 官方Release Note更新說明
  • 哪些設備第一時間將集成Android Pie?
  • Android Pie 源碼在哪裏下載?

Android Pie 新特性有哪些?

一、App Actionsgithub

這個特性推薦使用AI進行操做。AI會嘗試找出你接下來要作什麼,以及你接下來須要什麼,當你啓動app抽屜時,它會告訴你。根據你的當前地理位置、一天中的某個時間段,甚至是你鏈接耳機的時候,向你推薦一些東西。還有位於應用程序抽屜中的快捷鍵能夠預測你將要作什麼,這樣你就能夠更快地完成你在手機上要作的事情。例如,若是你一般打開應用程序面板,而後打開手機應用程序,而後給你的好朋友打電話。在Android Pie上,你最終會看到打開這個應用程序後,就開始建議你給好友電話。 後端

App Actions.gif

二、App slices數組

slice爲你提供了應用的一部分,Android系統認爲這是你在尋找某個應用時須要的功能。例如,若是你在搜索中輸入「Hawaii」,一個應用程序切片可能會建議你在谷歌photos應用中查看你最近的夏威夷度假照片。好比你要打車,Slices能夠作到這一點,搜索「Lyft」,你就會看到一個能給你提供價格和時間,你能夠用來完成預定服務。安全

slices.jpg

三、New gesture navigation(新的手勢導航欄)bash

在跟隨時代潮流下,Google一貫推崇於Cool的東西,即將推出的谷歌像素或Android One系列的Android手機,Android 9.0 Pie的特色是使用一種新的方式在設備中導航。傳統的back、home和最近的應用程序鍵都消失了。將在底部有一個新的HomeBar指示器——就像iPhone X同樣,只是短了一點。應用程序按鈕的職責被一個很是熟悉的手勢取代了。在橢圓指示器上滑動能夠做爲滾動條,可是在新的導航條上仍然有一個返回鍵。向右滑動能夠訪問最近的應用,或者向上滑動能夠訪問你的應用抽屜和應用建議。它在Pixel手機上很是流暢。切換到之前的應用程序,在瀏覽窗口後,在底部添加一個滑塊。 服務器

new-android-p-navigation.gif

四、Manual rotation(手動旋轉)微信

那些很煩的自動旋轉如今可能成爲過去。如今旋轉屏幕也能夠是手動的了,在導航欄上有一個指示器可供點擊。 網絡

Manual rotation.gif

五、Security and privacy features(安全和隱私特性)

Android Pie引入了大量新的安全和隱私特性,以幫助您保持數據的安全性。更新中引入的最有用的特性之一是,當你的麥克風、攝像頭或傳感器空閒時,應用程序將再也不可以訪問它們。怎麼作到的,AI

六、Digital Wellbeing(數字健康)

這一切都是爲了讓你不要一直使用手機。咱們須要它。拼命。 製造商的最上癮的數碼產品,即YouTube和Android,所謂的數字健康項目在Android p .它由儀表板顯示你如何使用你的設備,像時間在應用程序,手機解鎖,或者通知,要求你的注意力,你知道在哪裏。App Timer選項能夠爲應用程序的使用設置一個計時器,甚至當你的限制值用完時,圖標會變色。有一個新的DND管理模式,它能夠中止全部的調用或通知聲音,甚至能夠在你得到新的聲音時彈出預覽。「下風」功能實現了這三種功能:在晚上打開夜燈,在DND模式下快速運行,甚至在睡眠時間接近時以灰度顯示。全部這些都有一個手勢——把你的手機翻過來,它就會自動進入數字健康模式,甜心。

wellbeing-android-p.gif

  • Dashboard(面板)

讓你快速瞭解你在手機上使用的應用程序,你收到了多少通知,以及你多久查看一次手機。

  • App timers(app計時器) 容許您設置應用程序的使用限制。這樣系統就會在你即將達到預設的使用極限時提醒你,防止你過分使用應用程序和手機。

  • Wind down(放鬆一下) 設置一個時間表來啓用DND(Do Not Distur,免打擾)模式,並在規定的時間內將屏幕變爲灰色。

  • Do Not Disturb(免打擾) 它如今將屏幕變成了灰度,同時也明顯地禁用了通知,除非有重要聯繫人來呼叫你。

  • Better notification management(更好的通知管理) 能夠關閉一系列應用程序的通知,系統甚至可能會要求你在取消通知後中止接收特定類型的通知。讓你進入AI時代

七、Adaptive battery(電量自適應)

使用設備上的機器學習來了解用戶的使用應用程序狀況,並優先考慮最經常使用的應用程序和服務的電池電量,根據您的使用狀況優化應用程序的後臺進程,防止電量浪費流失。應用程序若是過分使用電量,系統還會提醒你,經過AI能夠改進電池的壽命,谷歌指出能夠減小30%獲取Wake Lock的狀況,(Wake Lock是一種鎖的機制, 只要有人拿着這個鎖,系統就沒法進入休眠, 能夠被用戶態程序和內核得到)

battery-brightness.gif

八、Adaptive brightness(亮度自適應)

根據你一天中主要使用時間,自動改變亮度等級。根據你的周圍環境,瞭解你喜歡的亮度等級,並自動調整你手機的亮度等級。

官方Release Note更新說明

從官方發佈的Open Source的Release Note來看,有以下更新

一、經過WiFi往返時延室內定位

經過WiFi往返時延室內定位(RTT表示往返時延。在計算機網絡中它是一個重要的性能指標,表示從發送端發送數據開始,到發送端收到來自接收端的確認(接收端收到數據後便當即發送確認),總共經歷的時延),簡單理解就是室內無線電波(WIFI)、磁場、聲音信號或移動設備收集的其餘感受信息來定位建築物內物體或人的技術。

Indoor-Positioning.jpg

二、支持設備使用插槽鏈接來顯示

也就是手機能夠鏈接電腦顯示屏,來感覺大屏顯示的魅力

三、多攝像頭支持,增長了鏈接USB攝像頭的功能

在Android Pie的設備上,用戶能夠同時從兩個或多個物理攝像頭訪問數據流。在具備雙前置或雙後置攝像頭的設備上,可實現使用單個攝像頭沒法實現的創新功能,例如無縫變焦,散景和立體視覺。API還容許調用或融合的攝像機媒體流,以自動在兩個或更多攝像機之間切換。相機中的其餘改進包括 有助於減小初始捕獲期間延遲的其餘會話參數,以及容許相機客戶端處理各類用例而無需中止和啓動相機流的表面共享。咱們還添加了基於顯示的閃存支持 和訪問OIS時間戳的 API,以 實現應用級圖像穩定和特效。在Android Pie中,多攝像頭API 支持具備FULL或 LIMITED功能的設備的單色攝像頭 。單色輸出經過YUV_420_888 Y爲灰度,U(Cb)爲128,V(Cr)爲128 的格式實現 。

四、bitmaps and drawables使用了新的解碼器解碼

Android Pie引入了ImageDecoder類,效率更高效。它提供了一種用於解碼圖像的現代化方法。使用此類而不是BitmapFactoryBitmapFactory.Options API。ImageDecoder容許new一個 Drawable或一個 Bitmap字節緩衝區,文件或URI。要解碼圖像,請先createSource() 使用編碼圖像的來源進行調用 。而後,調用 decodeDrawable() 或decodeBitmap() 經過傳遞ImageDecoder.Source 對象來建立一個Drawable]或一個Bitmap。要更改默認設置,請傳遞OnHeaderDecodedListener給 decodeDrawable()或decodeBitmap()。 一旦知道,就ImageDecoder調用onHeaderDecoded()圖像的默認寬度和高度。若是編碼圖像是動畫GIF或WebP,則decodeDrawable()返回該類Drawable的實例 AnimatedImageDrawable。咱們可使用不一樣的方法來設置圖像屬性:要將解碼圖像縮放到精確大小,請將目標尺寸傳遞到 setTargetSize()。您還可使用樣本大小縮放圖像。將樣本大小直接傳遞給 setTargetSampleSize()。要在縮放圖像範圍內裁剪圖像,請調用 setCrop()。要建立可變位圖,請true進入setMutableRequired()。ImageDecoder還能夠爲圖像添加自定義和複雜的效果,如圓角或圓形蒙版。setPostProcessor() 與PostProcessor 類的實例一塊兒使用以達到想要的任何繪圖效果。

五、新的「AnimatedImageDrawable」類,用於在UI中支持本地動畫

Android Pie引入了AnimatedImageDrawable用於繪製和顯示GIF和WebP動畫圖像的類。AnimatedImageDrawable相似於 AnimatedVectorDrawable渲染線程驅動動畫的方式AnimatedImageDrawable。渲染線程還使用工做線程進行解碼,所以解碼不會干擾渲染線程上的其餘操做。此實現容許您的應用顯示動畫圖像,而無需管理其更新或干擾應用的UI線程上的其餘事件。一個AnimatedImageDrawable能夠利用的實例進行解碼ImageDecoder。如下代碼段顯示瞭如何使用ImageDecoder解碼你的 AnimatedImageDrawable

private void decodeImage() throws IOException {

    Drawable decodedAnimation = ImageDecoder.decodeDrawable(
        ImageDecoder.createSource(getResources(), R.drawable.my_drawable));

    if (decodedAnimation instanceof AnimatedImageDrawable) {
        // Prior to start(), the first frame is displayed.
        ((AnimatedImageDrawable) decodedAnimation).start();
    }
}
複製代碼

ImageDecoder有幾種方法可讓你進一步修改圖像。例如,您可使用該setPostProcessor()方法修改圖像的外觀,例如應用圓形蒙版或圓角。

六、支持HDR VP9視頻和HEIF圖像壓縮

Android Pie增長了對高動態範圍(HDR)VP9配置文件2的內置支持,所以咱們如今能夠經過YouTube,Play電影和支持HDR的設備上的其餘來源播放用戶提供支持HDR的電影。Android Pie增長了對平臺的HEIF(heic)圖像編碼的支持。HEIF靜態圖像樣本在MediaMuxerMediaExtractor類中獲得支持HEIF改進了壓縮以節省存儲和網絡數據。藉助Android 9設備上的平臺支持,您能夠輕鬆地從後端服務器發送和使用HEIF圖像。確保您的應用與此數據格式兼容以進行共享和顯示後,請在應用中嘗試將HEIF做爲圖像存儲格式。您可使用ImageDecoderBitmapFactory進行jpeg-to-heic轉換以從jpeg獲取位圖,而且可使用HeifWriter從YUV字節緩衝區,Surface或Bitmap寫入HEIF靜止圖像。

媒體指標也可從AudioTrackAudioRecordMediaDrm類。

Android Pie爲MediaDRM類添加了方法,以獲取指標,HDCP級別,安全級別和會話數,並添加對安全級別和安全中止的更多控制。有關詳細信息,請參閱API Diff報告。

在Android Pie中,Audio API包含用於使用,內容類型和輸入預設的 AudioStream屬性。使用這些屬性,您能夠建立針對VoIP或攝像機應用程序進行調整的流。您還能夠設置SessionID以將Audio流與可包含效果的子混合相關聯。使用AudioEffect API控制效果。

Android Pie包含用於DynamicsProcessingAudioEffect API。使用此類,咱們能夠構建基於通道的音頻效果,包括各類類型的多個階段,包括均衡,多頻段壓縮和限制器。頻帶和活動階段的數量是可配置的,而且大多數參數能夠實時控制。

七、改進了JobScheduler以便更好地處理與網絡相關的工做。

從Android Pie開始,JobScheduler可使用運營商提供的網絡狀態信號來改善網絡相關做業的處理。

JobScheduler能夠聲明其估計的數據大小,信號預取,並指定詳細的網絡要求。JobScheduler而後根據網絡狀態管理工做。例如,當網絡發出擁塞信號時, JobScheduler可能會推遲大型網絡請求。在未計量的網絡上,JobScheduler能夠運行預取做業以改善用戶體驗,例如經過預取標題。

添加做業時,請務必使用setEstimatedNetworkBytes(),setPrefetch()setRequiredNetwork()在適當時幫助 JobScheduler正確處理工做。當您的做業執行時,請務必使用Network返回的對象JobParameters.getNetwork()。不然,咱們能夠將隱式使用設備的默認網絡,該網絡可能沒法知足您的要求,從而致使意外的數據使用。

八、改進了神經網絡API 1.1

Neural Networks API是在8.1的Android(API級27)引入,以加速在Android裝置上的機器學習。Android 9擴展並改進了API,增長了對九個新操做的支持:

元素數學運算:

  • ANEURALNETWORKS_DIV

  • ANEURALNETWORKS_SUB

數組操做:

  • ANEURALNETWORKS_BATCH_TO_SPACE_ND

  • ANEURALNETWORKS_SPACE_TO_BATCH_ND

  • ANEURALNETWORKS_SQUEEZE

  • ANEURALNETWORKS_STRIDED_SLICE

  • ANEURALNETWORKS_TRANSPOSE

  • ANEURALNETWORKS_PAD

  • ANEURALNETWORKS_MEAN

此外,API還引入了一個新功能, ANeuralNetworksModel_relaxComputationFloat32toFloat16()容許您指定是否以ANEURALNETWORKS_TENSOR_FLOAT32與IEEE 754 16位浮點格式相同的範圍和精度進行計算 。

九、Autofill框架的進一步改進

(Autofill Framework最低支持SDK API 26(Android O)+),Demo地址:github.com/googlesampl… 9引入了多項改進,自動填充服務能夠實現這些改進,以在填寫表單時進一步加強用戶體驗。

十、支持指紋確認的安全事務

在Android Pie中,系統表明您的應用提供生物識別身份驗證對話框。此功能爲對話框建立標準化的外觀,感受和位置,使用戶更有信心他們對可信賴的生物識別憑據檢查器進行身份驗證。

若是您的應用程序用於FingerprintManager向用戶顯示指紋身份驗證對話框,請切換爲使用BiometricPromptBiometricPrompt依賴於系統來顯示身份驗證對話框。它還會更改其行爲以適應用戶選擇的生物識別身份驗證的類型。

注意:使用BiometricPrompt前,你應該先使用 hasSystemFeature()方法,以確保該設備支持FEATURE_FINGERPRINT,FEATURE_IRIS或FEATURE_FACE。若是設備不支持生物識別身份驗證,咱們可使用該createConfirmDeviceCredentialIntent()方法回退到驗證用戶的PIN,模式或密碼。

十一、客戶端加密備份

Android Pie增長了對使用客戶端密鑰加密Android備份的支持。知足如下條件時,將自動啓用此支持:

  • 用戶已使用Android Pie或更高版本啓用了備份。
  • 用戶已爲其設備設置了屏幕鎖定,須要PIN,圖案或密碼才能解鎖。

啓用此隱私措施後,須要設備的PIN,模式或密碼才能從用戶設備的備份中恢復數據。

什麼設備第一時間將集成Android Pie

Android Pie已經出現了,如今每一個人都想知道Android Pie何時會出如今市場上的手機運行,這個問題很難回答。根據以往廠商的升級的經驗,作了一些預測,整理了一個OEM(OEM產品是爲品牌廠商度身訂造的,生產後也只能使用該品牌名)級的流行Android設備列表,認爲這些設備將會升級到Android 9 Pie。固然這個列表不表明最終實際狀況,作過ROM的開發工程師都知道,Google每發佈一個新版本,都須要解裏面不少Bug,以及過CTS(兼容性測試),還有廠商本身要作一些定製化處理,通常Google Android新版本Release半年前或更早,各大廠商基本就已經拿到了受權源碼,而後在作定製開發和Bug fix

  • Google像素手機
設備 預計更新時間
Google Pixel (sailfish) 2018.08.07
Google Pixel XL (marlin) 2018.08.07
Google Pixel 2 2018.08.07
Google Pixel 2 XL 2018.08.07
  • HTC
設備 預計更新時間
HTC U Ultra Q2 2019
HTC U11 Q1 2019
HTC U11 Life Q4 2018
HTC U11+ Q4 2018
HTC U11 EYEs Q1 2019
HTC U12+ Q4 2018
  • 華爲
設備 預計更新時間
Huawei Honor 8 Pro Q1 2019
Huawei Honor 9 Lite Q1 2019
Huawei Honor 9 and V9 Q1 2019
Huawei Honor View 10 Q4 2018
Huawei Honor 10 Q4 2018
Huawei Honor 9N Q1 2019
Huawei Nova 3 Q4 2018
Huawei Nova 3i Q4 2018
Huawei Nova 2s Q4 2018
Huawei Mate 9 Q1 2019
Huawei Mate 9 Porsche Design Q1 2019
Huawei Mate 9 Pro Q1 2019
Huawei Mate 10 Q4 2018
Huawei Mate 10 Porsche Design Q4 2018
Huawei Mate 10 Pro Q4 2018
Huawei P20 Q4 2018
Huawei P20 Pro Q4 2018
Huawei P20 Lite Q1 2019
Huawei P10 Q1 2019
Huawei P10 Plus Q1 2019
  • 一加手機
設備 預計更新時間
OnePlus 3 Q1 2019
OnePlus 3T Q1 2019
OnePlus 5 Q4 2018
OnePlus 5T Q4 2018
OnePlus 6 Q3 2018
  • Oppo
設備 預計更新時間
Oppo R15 Pro Q4 2018 (Beta available)
Oppo R15 Q4 2018
Oppo Find X Q4 2018
  • 三星
設備 預計更新時間
Samsung Galaxy S9 Q1 2019
Samsung Galaxy S9+ Q1 2019
Samsung Galaxy Note 8 Q2 2019
Samsung Galaxy S8 Q2 2019
Samsung Galaxy S8 Active Q3 2019
Samsung Galaxy S8+ Q2 2019
Samsung Galaxy A8 and A8+ (2018) Q2 2019
Samsung Galaxy A8 Star (A9 Star) Q2 2019
Samsung Galaxy A6 Q2 2019
Samsung Galaxy A6+ Q2 2019
Samsung Galaxy Note FE Q3 2019
Samsung Galaxy J4 Q3 2019
Samsung Galaxy J6 Q3 2019
Samsung Galaxy J8 Q3 2019
  • Sony
設備 預計更新時間
Sony Xperia XZ2 Q3 2018 (Beta available)
Sony Xperia XZ2 Compact Q3 2018
Sony Xperia XZ2 Premium Q3 2018
Sony Xperia XA2 Q4 2018
Sony Xperia XA2 Ultra Q4 2018
Sony Xperia XZ1 Q4 2018
Sony Xperia XZ1 Compact Q4 2018
Sony Xperia XZ Premium Q1 2019
Sony Xperia XZs Q1 2019
  • Vivo
設備 預計更新時間
Vivo X21 Q4 2018 (Beta available)
Vivo X21 UD Q4 2018 (Beta available)
Vivo Nex A Q4 2018
Vivo Nex S Q4 2018
Vivo V9 Q1 2019
  • 小米
設備 預計更新時間
Xiaomi Mi 8 Q4 2018
Xiaomi Mi 8 EE Q4 2018
Xiaomi Mi 8 SE Q4 2018
Xiaomi Mi 6 Q2 2019
Xiaomi Mi A1 Q4 2018
Xiaomi Mi A2 Q4 2018
Xiaomi Mi A2 Lite Q4 2018
Xiaomi Mi Mix 2 Q4 2018
Xiaomi Mi Mix 2S Q4 2018 (Beta available)
Xiaomi Mi Max 3 Q1 2019
Xiaomi Redmi Note 5 AI (Note 5 Pro) Q1 2019
Xiaomi Redmi S2 (Redmi Y2) Q2 2019
Xiaomi Redmi 6 Q3 2019
Xiaomi Redmi 6A Q3 2019
Xiaomi Redmi 6 Pro Q2 2019
  • LG

LG的手機部門表現不佳,這也是咱們沒有在2018年MWC上看到LG七國集團(G7)的緣由之一,由於該公司正在從新制定戰略,而後纔有望實現重大復甦。即便有這麼多的財務問題,LG在軟件更新方面也沒有被嚇倒,依然可能有多款設備更新

設備 預計更新時間
LG G6 Q4 2018
LG Q8 Q2 2019
LG V20 Q1 2019
LG V30 Q4 2018
LG V30+ Q4 2018
LG V30S ThinQ Q4 2018
LG V35 ThinQ Q4 2018
LG G7 ThinQ Q4 2018
LG Q7 Q1 2019
LG Q Stylus Q1 2019
LG Stylo 4 Q1 2019

Android Pie 源碼在哪裏下載?

下載一份之前的老版本源碼,依然在repo中,查看當前可用的Android源碼分支和版本,也能夠在下載好的Android源碼根目錄下執行以下命令:

$ git --git-dir .repo/manifests/.git/ branch -a
複製代碼

或者

$ cd .repo/manifests
$ git branch -a | cut -d / -f 3
複製代碼

附上一份網上找的Android從2.2到8.0的源碼,有須要的能夠下載:

android-2.2_r1 連接: pan.baidu.com/s/1qYfwxEO 密碼: r217

android-2.3.7_r1 連接: pan.baidu.com/s/1qYqRB1E 密碼: qcei

android-4.1.1_r1 連接: pan.baidu.com/s/1mhXwVgc 密碼: qidj

android-4.3_r1 連接: pan.baidu.com/s/1geOJDB1 密碼: 355a

android-4.4.4_r1 連接: pan.baidu.com/s/1nuZwEVn 密碼: t3qw

android-wear-5.1.1_r1 連接: pan.baidu.com/s/1hrQJ6XQ 密碼: 3g3x

android-6.0.0_r1 連接: pan.baidu.com/s/1geHYeOz 密碼: fsd6

android-6.0.1_r2 連接: pan.baidu.com/s/1skEVR1F 密碼: ik6t

android-7.1.1_r1 連接: pan.baidu.com/s/1dF6hc3n 密碼: pfsq

android-8.0.0_r1 連接: pan.baidu.com/s/1bqKNx3x 密碼: bthv

歡迎關注個人微信公衆號「何俊林」,接收第一手技術乾貨
相關文章
相關標籤/搜索