Ngừng sử dụng

Với mỗi bản phát hành, một số 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 này, Android sẽ chính thức ngừng sử dụng các API lỗi thời và hướng nhà phát triển đến các API mới để sử dụng.

Ngừng hoạt động có nghĩa là chúng tôi đã chấm dứt việc hỗ trợ chính thức cho các API này, nhưng các API này sẽ tiếp tục được cung cấp cho nhà phát triển. Trang này nêu bật một số tính năng không còn được dùng nữa trong bản phát hành Android này. Để xem các API ngừng hoạt độ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òn được dùng nữa. API này không còn được duy trì nữa nhưng chức năng hiện tại vẫn được giữ nguyên để đảm bảo khả năng 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ó 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 hiển thị. 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:

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

Các ứng dụng nên sử dụng API WindowMetrics để truy vấn 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ụ

Sau đâ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ể điều chỉnh kích thước hoạt động một cách linh hoạt.

Một hoạt động phải dựa vào WindowMetrics từ 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ó kích thước chính xác vì phép chiếu sẽ chụp màn hình. Nếu ứng dụng có thể đổi kích thước hoàn toàn, thì ngữ cảnh hoạt động sẽ trả về các giới hạn chính xác.

Kotlin

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

Java

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

Nếu không thể thay đổi kích thước hoàn toàn, ứng dụng phải truy vấn các ranh giới từ một thực thể WindowContext và truy xuất WindowMetrics của khu vực 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();