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 chức 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 cung cấp các API lỗi thời và hướng dẫn nhà phát triển sử dụng các API mới.
Ngừng cung cấp có nghĩa là chúng tôi đã chấm dứt hỗ trợ chính thức cho các API này, nhưng các API này vẫn 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ố điểm 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 sẽ không còn đượ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 hỗ trợ nữa. API này không còn được duy trì 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 Display Ads API
Thiết bị Android đang 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 cho 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 kích thước 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 dùng các phương thức sau:
Các ứng dụng nên sử dụng API WindowMetrics
để truy vấn ranh giới 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ể thay đổi kích thước hoàn toàn các hoạt động.
Một hoạt động nên dựa vào WindowMetrics
từ ngữ cảnh hoạt động cho mọi hoạt động 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 ranh giới phải có kích thước chính xác vì phép chiếu sẽ ghi lại 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ề 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 không thay đổi được 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 vùng hiển thị tối đa có sẵn cho ứng dụng bằng cách sử dụ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();