淘汰項目

每次發布版本時,特定 Android API 可能會過時或需要重構,以提供更優質的開發人員體驗,或支援新的平台功能。在這種情況下,Android 會正式淘汰過時的 API,並引導開發人員改用新的 API。

淘汰代表我們已停止官方支援,但開發人員仍可繼續使用。本頁面重點介紹這個 Android 版本中淘汰的部分功能。如要查看其他淘汰項目,請參閱 API 差異比較表。

RenderScript

自 Android 12 起,RenderScript API 已淘汰。這類 API 仍可繼續運作,但我們預期裝置和元件製造商會逐漸停止提供硬體加速支援。如要充分利用 GPU 加速功能,建議您從 RenderScript 遷移。

Android 播放清單

Android 播放清單已淘汰。我們已停止維護這個 API,但為了相容性,目前的功能仍會保留。

建議您將播放清單讀取及儲存為 m3u 檔案。

顯示 API 淘汰情形

Android 裝置有多種板型規格,例如大螢幕、平板電腦和折疊式裝置。為了在每部裝置上正確顯示內容,應用程式必須判斷螢幕或顯示大小。Android 陸續提供不同的 API 來擷取這項資訊。我們在 Android 11 中推出了 WindowMetrics API,並淘汰下列方法:

在 Android 12 中,我們仍建議使用 WindowMetrics,並淘汰下列方法:

應用程式應使用 WindowMetrics API 查詢視窗邊界,或使用 Configuration.densityDpi 查詢目前的密度。

請注意,Jetpack WindowManager 程式庫包含 WindowMetrics 類別,支援 Android 4.0.1 (API 級別 14) 以上版本。

範例

以下是 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();