Android 12 預(yù)覽版帶給我們的1234

image

對于每個版本迹恐,我們都致力于使操作系統(tǒng)更智能作瞄,更易于使用和更好地執(zhí)行,并以隱私和安全為核心巧勤。在Android 12中拳氢,我們還致力于為您提供新工具享钞,以為用戶打造出色的體驗船万。首先從兼容的媒體轉(zhuǎn)碼之類的東西開始街立,這可以幫助您的應(yīng)用使用最新的視頻格式(如果您尚不支持它們),以及輕松地將豐富的內(nèi)容(例如圖像和視頻)復(fù)制/粘貼到您的應(yīng)用中什湘。我們還將添加隱私保護并優(yōu)化性能长赞,以保持應(yīng)用程序的響應(yīng)速度。除了我們在Android 12中所做的工作外禽炬,本月晚些時候涧卵,我們還將在另一個重要工具上分享更多信息勤家,該工具可幫助您更輕松地創(chuàng)建出色的用戶體驗:Jetpack Compose腹尖,這是我們用于構(gòu)建本機UI的現(xiàn)代工具包。

開始

對的伐脖,上面是由Android開發(fā)者:工程副總裁Dave Burke發(fā)布的博客部分內(nèi)容热幔,從上得知幾個關(guān)鍵因素:

  • 隱私
  • 安全
  • 新工具,新體驗
    對于用戶來講會有新體驗讼庇,更隱私更安全绎巨,對于我們開發(fā)工作者來講,有新工具蠕啄。那么這些新的東西都具體體現(xiàn)在哪些方面呢场勤?下面由我?guī)е蠹覍W習一番戈锻。

WebView 加入SameSite Cookie

Android的WebView組件基于Chromium,Chromium是支持Google Chrome瀏覽器的開源項目和媳。而在Chrome瀏覽器加入SameSite之后格遭,現(xiàn)在又加入到了Android 12 的WebView中, SameSite Cookie可以提供更高的安全性和隱私性留瞳,并為用戶提供更高的透明度和控制力拒迅,具體什么意思呢?請看大佬的文章她倘,它解釋的很清楚璧微,Cookie 的 SameSite 屬性

備份限制

為了保護個人應(yīng)用程序的數(shù)據(jù),Android 12更改了該adb backup命令的默認行為硬梁,于是我在Android 12上試了一下下前硫,如圖

image

第一步
獲取已安裝的應(yīng)用程序列表

第二步
備份我的應(yīng)用com.zzy.flutter_to_find_out

第三步
備份數(shù)據(jù)

請看細節(jié)
WARNING: adb backup is deprecated and may be removed in a future release
意思是該功能會被刪除棄用,只是現(xiàn)在還沒有荧止。但官方描述又這么講:如果您的測試或開發(fā)工作流程依賴于應(yīng)用程序數(shù)據(jù)adb backup开瞭,您現(xiàn)在可以通過在應(yīng)用程序的清單文件中將設(shè)置android:debuggable 為true,來選擇導(dǎo)出應(yīng)用程序的數(shù)據(jù)罩息,且要注意上線后要改為false來保證應(yīng)用數(shù)據(jù)的安全嗤详。

android:exported 必須顯式聲明

android:exported 是Android中的四大組件 Activity,Service瓷炮,Provider葱色,Receiver 四大組件中都會有的一個屬性,作用:是否支持其它應(yīng)用調(diào)用當前組件娘香,默認值:如果包含有intent-filter時為true; 沒有intent-filter時為false苍狰,具體就不說明了,都是重復(fù)的知識烘绽。如果應(yīng)用沒有為android:exported需要的時間聲明值淋昭,Logcat將提供以下錯誤消息:

Targeting S+ (version 10000 and above) requires that an explicit value for \
android:exported be defined when intent filters are present

更安全地處理Intent

為了更加安全地處理PendingIntent,Android 12要求應(yīng)用為每個PendingIntent顯式聲明一個可變性標志安接,即FLAG_MUTABLE或FLAG_IMMUTABLE翔忽,解釋下:

  • PendingIntent.FLAG_MUTABLE 可變、Android 12中新增的標志盏檐,作用是讓Intent 在 send 的時候可更改
  • PendingIntent.FLAG_IMMUTABLE 不可變歇式、Android 6.0 中添加的標志,作用是讓Intent 在 send 的時候不可更改
    如果應(yīng)用創(chuàng)建一個PendingIntent對象時未設(shè)置任何可變性標志胡野,則系統(tǒng)將拋出 IllegalArgumentException材失,并且Logcat中將顯示以下消息:
PACKAGE_NAME: Targeting S+ (version 10000 and above) requires that one of \
FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.

Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if \
some functionality depends on the PendingIntent being mutable, e.g. if \
it needs to be used with inline replies or bubbles.

盡可能創(chuàng)建不可變PendingIntent

val pendingIntent = PendingIntent.getActivity(applicationContext,
        REQUEST_CODE, intent,
        /* flags */ PendingIntent.FLAG_IMMUTABLE)

那說明時候用可變呢?

  • 通知中有直接回復(fù)的動作時需要使用
  • 使用氣泡中的PendingIntent時 硫豆,氣泡是什么龙巨?請看鏈接:https://developer.android.com/guide/topics/ui/bubbles
    如果應(yīng)用創(chuàng)建了可變PendingIntent對象笼呆,則強烈建議使用明確的意圖并填寫 ComponentName。這樣旨别,每當另一個應(yīng)用程序調(diào)用PendingIntent并將控制權(quán)傳遞回你的應(yīng)用程序時抄邀,你的應(yīng)用程序中的同一組件終將會啟動。

前臺服務(wù)啟動限制

前臺服務(wù)是應(yīng)用程序管理某些用戶任務(wù)的重要方式昼榛,但是如果過度使用境肾,它們可能會影響性能甚至導(dǎo)致應(yīng)用程序終止,除少數(shù)特殊情況外胆屿,Android 12的應(yīng)用程序?qū)o法在后臺運行時啟動前臺服務(wù)奥喻。如果應(yīng)用程序在后臺運行時嘗試啟動前臺服務(wù),則會發(fā)生異常(少數(shù)特殊情況除外)非迹。那么少數(shù)例外是什么呢环鲤?答:
JobScheduler加入新的api,setExpedited(true)即可憎兽,但這并不是前臺服務(wù)冷离,而是可以在不考慮節(jié)電或節(jié)電等功耗限制的情況下立即運行。


image

無法從服務(wù)或廣播接收者創(chuàng)建通知蹦床

當用戶點擊通知時纯命,最終會啟動與用戶交互的應(yīng)用組件(Activity西剥、Service、Broadcast等)亿汞。這個應(yīng)用程序組件被稱為通知蹦床瞭空。但Android 12 以后將無法從服務(wù)或廣播中啟動Activity,看似是個壞消息疗我,其實是為了提高用戶體驗咆畏,犧牲開發(fā)的行為。以后就只能直接綁定Activity吴裤,無法通過服務(wù)或廣播啟動旧找,如果你想啟動Activity,那就直接綁定Activity得了麦牺。

用于接收內(nèi)容的統(tǒng)一API

開發(fā)者的福音:Android 12引入了新的統(tǒng)一API钮蛛,可讓您從任何可用來源(剪貼板,鍵盤或拖放)接收豐富的內(nèi)容枕面。具體效果看下該圖:
[圖片上傳失敗...(image-f959fe-1614908653264)]
可以拖動圖片到聊天中愿卒,有點像羅老師掌舵的錘子缚去,當年炙手可熱的一步app潮秘,錘子一步app將最近添加/使用的圖片、文件和剪切板內(nèi)的文字集合在屏幕頂部易结,錘子一步app將常用應(yīng)用和聯(lián)系人集中于屏幕側(cè)邊枕荞,通過拖拽即可將信息發(fā)送至應(yīng)用或聯(lián)系人柜候。就是這樣的一個功能,Android 12來了躏精,準備好了嗎渣刷?希望下次Android 13可以上大爆炸(偷笑)
具體如何使用Api呢?請看鏈接 https://developer.android.com/about/versions/12/features/unified-content-api

兼容的媒體轉(zhuǎn)碼

Android 12可以自動將設(shè)備上記錄的HEVC(H.265)和 HDR(HDR10和HDR10 +)視頻轉(zhuǎn)碼為AVC(H.264)辅柴,該格式與標準播放器廣泛兼容。當現(xiàn)代編解碼器可用時瞭吃,這可以利用它們碌嘀,而不會犧牲與舊應(yīng)用程序的兼容性股冗。
有關(guān)更多詳細信息
請參見 兼容的媒體轉(zhuǎn)碼

AVIF圖像支持

Android 12引入了對使用AV1圖像文件格式(AVIF)的圖像的支持。AVIF是用于使用AV1編碼的圖像和圖像序列的容器格式怯疤。它利用了來自視頻壓縮的幀內(nèi)編碼內(nèi)容旅薄。與JPEG等較舊的圖像格式相比泣崩,這可以顯著提高相同文件大小的圖像質(zhì)量少梁。要深入了解這種格式的優(yōu)勢

請參閱Jake Archibald的博客文章

從音頻產(chǎn)生觸覺效果

Android 12應(yīng)用程序可以使用手機的振動器從音頻會話中生成觸覺反饋。這為更身臨其境的游戲和音頻體驗提供了機會矫付。例如凯沪,觸覺增強的鈴聲可以幫助識別呼叫者,或者駕駛游戲可以模擬崎terrain地形的感覺买优。
有關(guān) 更多信息
請參見HapticGenerator參考文檔

對動畫GIF和WebP的本機ImageDecoder支持

在Android 12中妨马,NDK ImageDecoderAPI已擴展為可以解碼來自動畫GIF和動畫WebP文件格式的圖像中的所有幀和定時數(shù)據(jù)。在Android 11中引入該API時杀赢,該API僅從這些格式的動畫中解碼出第一張圖像烘跺。

使用ImageDecoder而不是第三方庫來進一步減小APK的大小, 并從與安全性和性能有關(guān)的將來更新中受益脂崔。
有關(guān)API的更多詳細信息滤淳,
請參閱API參考GitHub上的示例

總結(jié)

不負眾望,Android 12終將聽取用戶的改進建議砌左,不斷做出改進及優(yōu)化脖咐,對開發(fā)或用戶來說都是一次不錯的升級體驗铺敌,上面內(nèi)容是本人對Android 12比較突出的知識的匯聚,內(nèi)容主要來自官方文檔屁擅,如果錯誤的描述偿凭,歡迎提出指教,小的肯定會悉心接受派歌。感謝??弯囊。

參考

https://developer.android.com/about/versions/12

https://android-developers.googleblog.com/2021/02/android-12-dp1.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者胶果。
  • 序言:七十年代末常挚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子稽物,更是在濱河造成了極大的恐慌奄毡,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贝或,死亡現(xiàn)場離奇詭異吼过,居然都是意外死亡,警方通過查閱死者的電腦和手機咪奖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門盗忱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人羊赵,你說我怎么就攤上這事趟佃。” “怎么了昧捷?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵闲昭,是天一觀的道長。 經(jīng)常有香客問我靡挥,道長序矩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任跋破,我火速辦了婚禮簸淀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毒返。我一直安慰自己租幕,他們只是感情好,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布拧簸。 她就那樣靜靜地躺著劲绪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上珠叔,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天蝎宇,我揣著相機與錄音弟劲,去河邊找鬼祷安。 笑死,一個胖子當著我的面吹牛兔乞,可吹牛的內(nèi)容都是我干的汇鞭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼庸追,長吁一口氣:“原來是場噩夢啊……” “哼霍骄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起淡溯,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤读整,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后咱娶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體米间,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年膘侮,在試婚紗的時候發(fā)現(xiàn)自己被綠了屈糊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡琼了,死狀恐怖逻锐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情雕薪,我是刑警寧澤昧诱,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站所袁,受9級特大地震影響鳄哭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜纲熏,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一妆丘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧局劲,春花似錦勺拣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春愤惰,著一層夾襖步出監(jiān)牢的瞬間苇经,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工宦言, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扇单,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓奠旺,卻偏偏與公主長得像蜘澜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子响疚,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容