5月22日,OPPO舉辦「OTalk | Android 16 開發(fā)者交流專場」,特邀OPPO高級工程師團隊深度解讀Android 16核心技術(shù)要點與適配策略。活動以線上直播形式展開,吸引了眾多開發(fā)者實時觀看并參與討論,為他們提供了從技術(shù)解析到工具支持的全流程適配解決方案。
一、Android 16開發(fā)者適配計劃
根據(jù)Google規(guī)劃,Android 16.0及16.1版本將于2025年分階段發(fā)布,所有應(yīng)用須在7月1日前完成適配,覆蓋目標(biāo)版本為36(API 36)的新開發(fā)及存量應(yīng)用,涉及行為變更、API 調(diào)整和新功能兼容。開發(fā)者可盡早啟動測試,以免適配延遲對應(yīng)用上架和用戶體驗造成不利影響。
二、Android 16核心新特性及適配建議
自適應(yīng)適配:大屏設(shè)備體驗的優(yōu)化
隨著折疊屏、平板等多樣化設(shè)備形態(tài)的普及,大屏適配已成為開發(fā)者面臨的重要技術(shù)挑戰(zhàn)。在 Android 16.0 中,當(dāng)應(yīng)用 Target SDK=36 且運行在最小寬度≥600dp 的設(shè)備時,系統(tǒng)將忽略傳統(tǒng)的屏幕方向、尺寸可調(diào)整性等設(shè)置限制,為大屏設(shè)備帶來更出色的視覺體驗。
不過,以下三種情況不在新特性的范圍內(nèi):
游戲類應(yīng)用(需要在清單屬性中配置 android:appCategory);
小于 sw600dp 的屏幕(常見手機設(shè)備不受影響);
用戶在系統(tǒng)設(shè)置中啟用了寬高比配置。
適配建議:
遵循谷歌適配指南,完成大屏布局優(yōu)化,以提供更佳的用戶體驗;
若暫不支持,可在 Activity 或 Application 節(jié)點添加 PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY 屬性臨時豁免,但需注意,該配置可能會在 Android 17 中被取消,因此建議開發(fā)者優(yōu)先完成適配。
針對大屏適配,開發(fā)者可以參考由 OPPO、vivo、小米等廠商共同制定的《ITGSA 大屏設(shè)備應(yīng)用適配白皮書 2.0》。同時,建議開發(fā)者逐步遷移到 Compose 開發(fā),使后續(xù)適配工作更加簡單高效。
預(yù)測性返回:手勢導(dǎo)航的交互變革
預(yù)測性返回是 Android 13 引入的手勢導(dǎo)航增強功能,用戶在側(cè)滑返回時可以預(yù)覽目標(biāo)界面。在 Android 16 中,目標(biāo) SDK≥36 的應(yīng)用默認(rèn)啟用預(yù)測性返回動畫,系統(tǒng)不再調(diào)用 onBackPressed 也不會再調(diào)度 KeyEvent.KEYCODE_BACK。
適配建議:遷移至 onBackInvokedCallback 回調(diào)處理返回邏輯;若需保留原有邏輯,可在清單中設(shè)置 android:enableOnBackInvokedCallback="false" 停用。
ART 內(nèi)部變更:提升性能與兼容性
Android 16 包含 Android 運行時(ART)的最新更新,這些更新旨在提升 ART 的性能,并支持更多的 Java 功能。依賴 ART 內(nèi)部結(jié)構(gòu)的代碼(如私有反射、非 SDK 接口)將全面失效。
適配建議:全面測試應(yīng)用穩(wěn)定性,替換非公開 API 為系統(tǒng)提供的公共 API。
JobScheduler 配額優(yōu)化:后臺任務(wù)的效率革命
為了降低系統(tǒng)負(fù)載,Android 16 對 JobScheduler 的執(zhí)行配額進行了動態(tài)管理,根據(jù)應(yīng)用待機分桶和前臺服務(wù)狀態(tài)動態(tài)分配 JobScheduler 執(zhí)行配額,活躍應(yīng)用獲得更多配額,后臺任務(wù)仍需遵守配額限制。
適配建議:減少非必要后臺任務(wù),高優(yōu)先級任務(wù)使用 setExpedited() 標(biāo)記;通過 WorkInfo.getStopReason() 記錄任務(wù)終止原因并調(diào)整調(diào)度策略。
健康與健身權(quán)限:隱私管控的升級
Android 16 將 BODY_SENSOR 權(quán)限遷移至 “健康數(shù)據(jù)共享” 權(quán)限組。對于 Target SDK≥36 的應(yīng)用,需要請求新的權(quán)限。
適配建議:更新權(quán)限請求邏輯,引導(dǎo)用戶在系統(tǒng)級 “健康數(shù)據(jù)共享” 頁面授權(quán)。
setImportantWhileForeground 接口失效:后臺任務(wù)的約束
setImportantWhileForeground 接口曾用于讓前臺任務(wù)豁免后臺限制,但從 Android 16 開始,該接口的功能已被徹底移除。依賴此接口的下載任務(wù)、實時同步等場景可能出現(xiàn)延遲,影響用戶體驗。
適配建議:改用 jobInfo.setExpedited() 標(biāo)記加急任務(wù),確保關(guān)鍵操作優(yōu)先執(zhí)行。
息屏場景自動停止屏幕分享:隱私與管控的平衡
為提升隱私安全,Android 16會在手機息屏或通話結(jié)束后,自動釋放 MediaProjection。
適配建議:在 onStop 回調(diào)中處理異常,如需持續(xù)投屏,需重新獲取 MediaProjection 權(quán)限。
此外,在 Android 16 中,多項關(guān)鍵特性同樣值得注意。優(yōu)雅字體 API 被廢棄,開發(fā)者需手動調(diào)整文字布局以確保顯示效果。更安全的 Intent 機制要求顯式 Intent 與目標(biāo)組件的 Intent 過濾器相匹配,提升應(yīng)用安全性。以進度為中心的通知功能增強,通過Notification.ProgressStyle實現(xiàn)更直觀的進度可視化。MediaProvider 擴展了能力,PhotoPicker 支持 PDF 讀取并增強權(quán)限鑒權(quán),同時統(tǒng)一了界面風(fēng)格。這些變更體現(xiàn)了 Android 16 在安全性、用戶體驗和功能上的優(yōu)化。
在互動答疑環(huán)節(jié),有開發(fā)者提出預(yù)測性返回動畫是否是系統(tǒng)強制的問題,紀(jì)昌杰表示預(yù)測性返回特性需要應(yīng)用 targetsdk 升級到 36 才會強制生效,未升級的應(yīng)用則需通過配置使其生效,應(yīng)用要主動適配,適配重點在于防止系統(tǒng)不再調(diào)用 onBackPressed 和不再調(diào)度 KeyEvent.KEYCODE_BACK 導(dǎo)致應(yīng)用邏輯異常。而對于一個開發(fā)人員如何高效適配大屏的問題,紀(jì)昌杰再次強調(diào),建議開發(fā)者逐步遷移到 Compose 平臺開發(fā),以獲得谷歌更多支持,開發(fā)資源有限的開發(fā)者可以參考金標(biāo)聯(lián)盟制定的大屏適配 2.0 標(biāo)準(zhǔn),其內(nèi)容大多基于 View + XML 開發(fā)模式進行指導(dǎo)。
三、OPPO一站式支持體系
在本次交流專場中,紀(jì)昌杰還介紹了 OPPO 為助力 Android 16 適配所構(gòu)建的一站式開發(fā)者支持體系。該體系涵蓋了詳盡的兼容性適配文檔,為開發(fā)者提供了清晰明確的適配指引;免費的云真機 / 云測服務(wù),賦能開發(fā)者隨時隨地開展高效調(diào)試與驗證工作。此外,還包括開發(fā)者預(yù)覽版,便于開發(fā)者提前評估應(yīng)用在新系統(tǒng)上的表現(xiàn),以及應(yīng)用商店新特性檢測,確保應(yīng)用完全符合 Android 16 的各項標(biāo)準(zhǔn)。同時,開發(fā)者可借助適配答疑交流社群和 OPPO 開放平臺支持專區(qū)等多元渠道,獲取全方位支持,有效提升適配效率。
此次「OTalk | Android 16 適配開發(fā)者交流專場」聚焦前沿技術(shù)洞察與實戰(zhàn)指南,開發(fā)者提供了系統(tǒng)性適配路徑與高效解決方案。活動分享的適配策略、高頻問題解答等核心資料,將在「OPPO開放平臺」公眾號及OPPO開發(fā)者社區(qū)官網(wǎng)發(fā)布,開發(fā)者可免費查閱并應(yīng)用于實際開發(fā)流程。
作為Android生態(tài)的重要推動者,OPPO將持續(xù)提供全鏈路適配支持服務(wù),并通過技術(shù)沙龍、開發(fā)者社群及線上交流平臺,與開發(fā)者緊密協(xié)作,共同探索Android 16的創(chuàng)新邊界,助力移動應(yīng)用生態(tài)實現(xiàn)高質(zhì)量演進。