Android 13 第一个开发者版本来了,网友直呼:Android 12 还没玩透!
整理 | 蘇宓
出品 | CSDN(ID:CSDNnews)
2 月 10 日,Google 宣布 Android 13 首個(gè)預(yù)覽版面向開發(fā)者開放,此版本重點(diǎn)聚焦隱私和安全、提供開發(fā)者生產(chǎn)力、應(yīng)用兼容性,并保持與 OpenJDK 11 更新一致、提供主題圖標(biāo)、帶來新的照片選擇器等功能。
接下來,讓我們一起來看看最新版本的 Android 13 到底有什么樣的改變吧!
以隱私和安全為核心
網(wǎng)絡(luò)大數(shù)據(jù)時(shí)代,隱私與安全對(duì)于各大公司及用戶而言至關(guān)重要,上到芯片、系統(tǒng),下到應(yīng)用程序,每一角落的安全及隱私保護(hù)都不容忽視。在帶來 Android 13 首個(gè)預(yù)覽版之際,Google 在官方博客中如是說道,“隱私是 Android 產(chǎn)品原則的核心,Android 13 專注于通過在設(shè)備上提供更安全的環(huán)境并為用戶提供更多的控制權(quán),為所有人構(gòu)建一個(gè)負(fù)責(zé)任的高質(zhì)量平臺(tái)。”
全新的照片選擇器和 API
Android 13 預(yù)覽版引入全新的系統(tǒng)照片選擇器功能,取代了用于選擇照片的彈出文件管理器,這樣方便用戶在使用應(yīng)用程序時(shí)能夠更安全地共享本地或者云端照片和視頻。其中應(yīng)用程序可以調(diào)用系統(tǒng)照片選擇器 API 后無需查看設(shè)備上所有媒體文件的權(quán)限,即可訪問共享的照片和視頻。
啟動(dòng)照片選擇器示例(Kotlin 語言):
// Launches photo picker in single-select mode. // This means that the user can select one photo or video. val intent = Intent(MediaStore.ACTION_PICK_IMAGES) startActivityForResult(intent, PHOTO_PICKER_REQUEST_CODE)啟動(dòng)照片選擇器示例(Java 語言):
// Launches photo picker in single-select mode. // This means that the user can select one photo or video. Intent intent = new Intent(MediaStore.ACTION_PICK_IMAGES); startActivityForResult(intent, PHOTO_PICKER_REQUEST_CODE);對(duì)于這一功能,Google 后續(xù)計(jì)劃通過 Google Play 系統(tǒng)更新將照片選擇器 API 作為運(yùn)行在 Android 11 及更高版本的設(shè)備(Go 設(shè)備除外)中的 MediaProvider 模塊的一部分,向更多 Android 用戶推送。
在不使用位置權(quán)限的情況下,連接到?Wi-Fi
過往,應(yīng)用程序偶爾需要使用附近 Wi-Fi 的列表,但使用這一功能的前提附帶了一個(gè)更為敏感的權(quán)限:位置。
為此,Android 13?還引入了一個(gè)名為“NEARBY_WIFI_DEVICES?運(yùn)行時(shí)權(quán)限(NEARBY_DEVICES 權(quán)限組的一部分)”,用于管理設(shè)備通過 Wi-Fi 與附近接入點(diǎn)的連接,而不會(huì)泄露用戶的位置或需要位置權(quán)限。
這一功能非常適合為某些 Wi-Fi 硬件(智能揚(yáng)聲器等)設(shè)置應(yīng)用程序。
調(diào)用方法如下:
public static final String NEARBY_WIFI_DEVICES主題圖標(biāo)在 Android 13 測試版中正式可用!
還記得在去年發(fā)布的 Android 12 中,Google 為其帶來了一個(gè)名為“主題圖標(biāo)”的新功能,不過一直處于測試版階段。“主題圖標(biāo)”是指 Google 將墻紙中的強(qiáng)調(diào)色應(yīng)用到主屏幕上的應(yīng)用程序圖標(biāo)的方式,也就是將 Google 的一些圖標(biāo)單色化,并為圖標(biāo)提供與 Material You 主題相匹配的圓形背景。
簡單來看,就是在啟用這一功能后,應(yīng)用程序圖標(biāo)將會(huì)呈現(xiàn)雙色調(diào)外觀,這些圖標(biāo)將會(huì)具有更亮的背景和更暗的元素。如下圖所示,最左邊的圖片是未啟用“主題圖標(biāo)”原有的界面顯示,中間的是啟用了“主題圖標(biāo)”顯示的界面,右邊是啟用暗黑主題圖標(biāo)的界面。
不過,過去在 Android 12 中,主題圖標(biāo)是硬編碼的,導(dǎo)致很多開發(fā)者即使想要開發(fā)制作主題圖標(biāo),也不知從何入手。
現(xiàn)在在 Android 13 中,開發(fā)者只需要提供一個(gè)單色的應(yīng)用圖標(biāo),并對(duì)自適應(yīng)圖標(biāo) XML 進(jìn)行一些調(diào)整,就能使用這一功能了。
針對(duì)這一點(diǎn)具體可以帶來什么樣的作用,目前尚未可知,也許僅是 Google 在圖標(biāo)顏色上的一種新嘗試。
對(duì)此,國外科技媒體 Arstechnica 評(píng)價(jià)道,“Google 從修改社區(qū)的圖標(biāo)包中得到了關(guān)于‘主題圖標(biāo)’的想法。但在圖標(biāo)包中,一個(gè)設(shè)計(jì)師制作了一堆圖標(biāo),一個(gè)用戶應(yīng)用它們,其實(shí)并沒有什么用。除非世界上所有的開發(fā)者都制作一個(gè)主題圖標(biāo),否則谷歌推出的主題圖標(biāo)不會(huì)帶來什么效果。與此同時(shí),修改圖標(biāo)如果也不關(guān)心一個(gè)公司的品牌優(yōu)先級(jí),只希望一切都能匹配的話,我無法想象 Facebook 會(huì)批準(zhǔn)一個(gè)不是藍(lán)色的 Facebook 圖標(biāo)出現(xiàn)。”
其實(shí),Google 對(duì)于”主題圖標(biāo)“上或也存在很大的不確定性,在 Android 13 首個(gè)預(yù)覽版正式發(fā)布的博文中,其指出,”我們鼓勵(lì)所有開發(fā)者提供兼容的圖標(biāo),從而為選擇使用這一功能的用戶提供一致的體驗(yàn)。主題應(yīng)用圖標(biāo)最初會(huì)在 Pixel 設(shè)備上得到支持,我們正與設(shè)備制造商合作伙伴們一起將這個(gè)功能引入更多設(shè)備。"
當(dāng)前,我們也不妨期待一下“主題圖標(biāo)”在實(shí)際設(shè)備應(yīng)用上的效果吧。
提升開發(fā)者效率的工具
Android 13 還為提高開發(fā)人員的工作效率帶來了新功能和工具。
快速設(shè)置放置 API
在 Android 13 預(yù)覽版中,用戶可以在不離開應(yīng)用情況下,基于通知欄中的快捷設(shè)置直接進(jìn)行更改設(shè)置或快速操作。
為此,Google 也為開發(fā)者提供了自定義磁貼,通過新的磁貼放置 API,應(yīng)用程序可以提示用戶,直接將能夠自定義的磁貼添加到快捷設(shè)置磁貼組中。
單個(gè)應(yīng)用的語言偏好
這一點(diǎn)也是很多系統(tǒng)以及工具在不斷完善的功能點(diǎn)。即用戶可以在不同的應(yīng)用程序中設(shè)置與系統(tǒng)不同的語言,非常適用于多語言用戶的需求。
時(shí)下,開發(fā)者只需要在開發(fā)自己應(yīng)用程序的時(shí)候調(diào)用一個(gè)系統(tǒng) API,就能設(shè)置或獲取用戶的首選語言,從而在設(shè)置應(yīng)用的運(yùn)行時(shí)語言時(shí)減少樣板代碼并提高兼容性。
Google 官方也表示,為了更廣泛的兼容性,其將在即將推出的 Jetpack 開發(fā)庫中增加一個(gè)類似的 API。
更快的連字符
在 Android 13 預(yù)覽版中,有一個(gè)看似不起眼的功能卻引起了不少開發(fā)者的注意,即“更快的連字符”。顯示文本是 Android 上最常見的任務(wù)之一,也是系統(tǒng)上最為復(fù)雜的任務(wù)之一,在 2018 年 Google 博客發(fā)布的一篇描述 Android 9 的流程文章中曾寫道:
顯示文本可能很復(fù)雜,包括多種字體、行間距、字母間距、文本方向、換行、斷字等功能。TextView 必須做很多工作來測量和布置給定的文本:讀取字體文件、查找字形、確定形狀、測量邊界框以及將單詞緩存在內(nèi)部單詞緩存中。更重要的是,所有這些工作都發(fā)生在 UI 線程上,這可能會(huì)導(dǎo)致您的應(yīng)用程序丟幀。
在 UI 線程上執(zhí)行所有這些操作對(duì)應(yīng)用程序性能不利,因?yàn)槿魏螔鞌喽紩?huì)使用戶的應(yīng)用程序卡頓。此外,斷字是最繁瑣的文本布局操作之一,因?yàn)樾枰?jì)算每個(gè)單詞的每個(gè)音節(jié)斷點(diǎn)來進(jìn)行布局。
在 Android 13 預(yù)覽版中,Google 將連字符的性能提升了多達(dá) 200%。開發(fā)者現(xiàn)在可以在 TextView 中啟用連字符,它對(duì)渲染性能幾乎沒有影響。如果大家想要啟用更快的連字符,可以在 setHyphenationFrequency()?中使用新的 fullFast 或 normalFast 頻率。
可編程著色器
Android 13 是添加了對(duì)可編程 RuntimeShader 對(duì)象的支持,其行為使用 Android 圖形著色語言 (Android Graphics Shading Language, AGSL) 定義。
OpenJDK 11 更新
在 Android 13 中,Google 開始將 Android 核心庫與 OpenJDK 11 版本的更新保持一致,為應(yīng)用和平臺(tái)開發(fā)者提供代碼庫更新和 Java 11 編程語言支持。
Android 13 穩(wěn)定版將比過往版本來得更早?
在 Android 13 中,Google 可謂是為系統(tǒng)與應(yīng)用的兼容性操碎了心。這不,其宣布在新的一年中,也將進(jìn)一步擴(kuò)大對(duì) Google Play 系統(tǒng)更新?(Project Mainline) 的資源投入。Project Mainline 是一個(gè)重要的 Android 項(xiàng)目,它可以使操作系統(tǒng)的核心組建能夠通過 Play 商店更新。基于此,Google 官方現(xiàn)在可以通過更新現(xiàn)有模塊將照片選擇器和 OpenJDK 11 等新功能直接推送給舊版 Android 用戶。
另外,為了讓開發(fā)者有更加良好的體驗(yàn),Google 發(fā)布了平板電腦優(yōu)化指南、測試和調(diào)試文檔,同時(shí)預(yù)期在 2022 年 6 月份 Android 13 版本實(shí)現(xiàn)穩(wěn)定版,這個(gè)時(shí)間比 Android 12 早了兩個(gè)月。
究其背后原因,Google 表示發(fā)布這些早期版本就是為了收集到更多的反饋,帶來更好的體驗(yàn)。
當(dāng)前對(duì)于想要嘗鮮的開發(fā)者們,即刻就可以動(dòng)起手啦,對(duì)此,官方也發(fā)布了一些實(shí)踐指南:
使用平板電腦和可折疊設(shè)備測試應(yīng)用,最簡單的入門方法是在平板電腦或可折疊配置中使用 Android 模擬器,設(shè)置說明詳見:https://developer.android.com/about/versions/12/12L/get
使用 Pixel 手機(jī)的用戶,可以在 Pixel 6 Pro、Pixel 6、Pixel 5a 5G、Pixel 5、Pixel 4a (5G)、Pixel 4a、Pixel 4 XL 或 Pixel 4設(shè)備上直接輸入系統(tǒng)映像:https://developer.android.com/about/versions/13/download
使用非? Pixel 手機(jī)的用戶,可以在 Android Studio 中將 64 位系統(tǒng)映像與 Android Emulator 一起使用。對(duì)于更廣泛的測試,可以使用 GSI 圖像。
更多使用指南詳見:
https://android-developers.googleblog.com/2022/02/first-preview-android-13.html
參考鏈接:
https://arstechnica.com/gadgets/2022/02/google-releases-android-13-developer-preview-1/
往期推薦
CSS 狀態(tài)管理,玩出花樣了!
k8s集群居然可以圖形化安裝了?
使用這個(gè)庫,讓你的服務(wù)操作 Redis 速度飛起
將 k8s 制作成 3D 射擊游戲,好玩到停不下來
點(diǎn)分享
點(diǎn)收藏
點(diǎn)點(diǎn)贊
點(diǎn)在看
總結(jié)
以上是生活随笔為你收集整理的Android 13 第一个开发者版本来了,网友直呼:Android 12 还没玩透!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动化测试 之 “好用例、坏用例”
- 下一篇: 存储引擎 boltdb 的设计奥秘?