每次發布版本時,特定 Android API 可能會過時或必須重構,以提供更優質的開發人員體驗或支援新的平台功能。在這種情況下,Android 將正式淘汰過時的 API,並引導開發人員改用新的 API 使用。
淘汰意味著我們已終止對 API 的官方支援,但開發人員仍可以繼續使用這些 API。本頁重點介紹這個 Android 版本中的部分淘汰項目。如要查看其他淘汰項目,請參閱 API 差異比較表。
RenderScript
自 Android 12 起,RenderScript API 已淘汰。這類 API 仍可繼續運作,但我們預期裝置和元件製造商會逐漸停止提供硬體加速支援功能。如要充分利用 GPU 加速功能,建議您從 RenderScript 遷移。
Android 播放清單
Android 播放清單已淘汰。系統不會再維護這個 API,但現有功能仍保有相容性。
我們建議讀取播放清單並儲存為 m3u 檔案。
Display API 淘汰項目
Android 裝置即將支援許多不同的板型規格,例如大螢幕、平板電腦和折疊式裝置。為了針對各種裝置適當轉譯內容,應用程式需要判斷螢幕或顯示大小。隨著時間推移,Android 提供不同的 API 來擷取這項資訊。在 Android 11 中,我們導入了 WindowMetrics
API 並淘汰下列方法:
在 Android 12 中,我們建議繼續使用 WindowMetrics
,並淘汰下列方法:
應用程式應使用 WindowMetrics
API 查詢視窗邊界,或使用 Configuration.densityDpi
查詢目前的密度。
請注意,Jetpack WindowManager
程式庫包含支援 Android 4.0.1 (API 級別 14) 以上版本的 WindowMetrics
類別。
示例
以下列舉幾個 WindowMetrics
的使用範例。
首先,請確認您的應用程式能使其活動可完全調整大小。
活動應依附活動結構定義中的 WindowMetrics
,執行任何 UI 相關工作,尤其是 WindowManager.getCurrentWindowMetrics()
。
如果您的應用程式建立 MediaProjection
,由於投影會擷取螢幕,因此邊界大小必須正確。如果應用程式可完全調整大小,活動內容會傳回正確的邊界。
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
Java
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
如果應用程式無法完全調整大小,則必須透過 WindowContext
執行個體查詢邊界,並使用 WindowManager.getMaximumWindowMetrics()
擷取應用程式可用最大顯示區域的 WindowMetrics。
Kotlin
val windowContext = context.createWindowContext(mContext.display!!, WindowManager.LayoutParams.TYPE_APPLICATION, null) val projectionMetrics = windowContext.getSystemService(WindowManager::class.java) .maximumWindowMetrics
Java
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), WindowManager.LayoutParams.TYPE_APPLICATION, null; WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();