Ngừng sử dụng

Với mỗi bản phát hành, các API Android cụ thể có thể trở nên lỗi thời hoặc cần được tái cấu trúc để mang lại trải nghiệm tốt hơn cho nhà phát triển hoặc hỗ trợ các tính năng mới của nền tảng. Trong những trường hợp như vậy, Android sẽ chính thức không dùng các API lỗi thời nữa và sẽ hướng nhà phát triển đến các API mới để sử dụng.

Việc ngừng sử dụng có nghĩa là chúng tôi đã ngừng hỗ trợ chính thức cho các API này, nhưng nhà phát triển vẫn sẽ có thể sử dụng chúng. Trang này nêu bật một số điểm ngừng cung cấp trong bản phát hành Android này. Để xem các trường hợp ngừng sử dụng khác, hãy tham khảo báo cáo điểm khác biệt về API.

RenderScript

Kể từ Android 12, API RenderScript sẽ không được dùng nữa. Các API này sẽ tiếp tục hoạt động, nhưng nhà sản xuất thiết bị và thành phần sẽ ngừng cung cấp tính năng hỗ trợ tăng tốc phần cứng theo thời gian. Để khai thác tối đa tính năng tăng tốc GPU, bạn nên ngừng dùng RenderScript.

Danh sách phát trên Android

Danh sách phát trên Android không được dùng nữa. API này không còn được duy trì nhưng chức năng hiện tại vẫn giữ nguyên để có thể tương thích.

Bạn nên đọc và lưu danh sách phát dưới dạng tệp m3u.

Ngừng sử dụng API Hiển thị

Thiết bị Android ngày càng được cung cấp ở nhiều kiểu dáng, chẳng hạn như màn hình lớn, máy tính bảng và thiết bị có thể gập lại. Để hiển thị nội dung phù hợp với từng thiết bị, ứng dụng của bạn cần xác định kích thước màn hình hoặc màn hình. Theo thời gian, Android đã cung cấp nhiều API để truy xuất thông tin này. Trong Android 11, chúng tôi đã ra mắt API WindowMetrics và ngừng sử dụng các phương thức sau:

Trên Android 12, bạn vẫn nên sử dụng WindowMetrics và sẽ ngừng sử dụng các phương thức sau:

Ứng dụng nên dùng các API WindowMetrics để truy vấn các giới hạn của cửa sổ hoặc Configuration.densityDpi để truy vấn mật độ hiện tại.

Xin lưu ý rằng thư viện Jetpack WindowManager bao gồm một lớp WindowMetrics hỗ trợ Android 4.0.1 (API cấp 14) trở lên.

Ví dụ

Dưới đây là một số ví dụ về cách sử dụng WindowMetrics.

Trước tiên, hãy đảm bảo ứng dụng của bạn có thể thay đổi kích thước hoàn toàn của các hoạt động.

Một hoạt động phải dựa vào WindowMetrics trong ngữ cảnh hoạt động cho mọi công việc liên quan đến giao diện người dùng, đặc biệt là WindowManager.getCurrentWindowMetrics().

Nếu ứng dụng của bạn tạo một MediaProjection thì các giới hạn phải được định kích thước chính xác vì phép chiếu đó chụp màn hình. Nếu ứng dụng hoàn toàn có thể đổi kích thước, ngữ cảnh hoạt động sẽ trả về ranh giới chính xác.

Kotlin

val projectionMetrics = activityContext
        .getSystemService(WindowManager::class.java).maximumWindowMetrics

Java

WindowMetrics projectionMetrics = activityContext
        .getSystemService(WindowManager.class).getMaximumWindowMetrics();

Nếu hoàn toàn không thể đổi kích thước, ứng dụng phải truy vấn các ranh giới từ thực thể WindowContext và truy xuất WindowMetrics của vùng hiển thị tối đa có sẵn cho ứng dụng bằng WindowManager.getMaximumWindowMetrics()

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();