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 cung cấp có nghĩa là chúng tôi đã chấm dứt dịch vụ hỗ trợ chính thức đối với các API này nhưng nhà phát triển vẫn sẽ dùng được các API đó. Trang này nêu bật một số việc ngừng sử dụng 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 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 dịch vụ 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ì nhưng chức năng hiện tại vẫn 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:

Ứ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 WindowManager của Jetpack 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ể làm cho các hoạt động có thể đổi kích thước hoàn toàn.

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