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