AsyncTask API 的替代方案在Android 11 中已棄用
在Android 11 中,AsyncTask API 已棄用,轉而使用java.util .concurrent 套件代替。使用非同步任務維護舊版 Android 程式碼庫的開發人員需要調整其程式碼以實現未來相容性。
靜態內部類 AsyncTask 的 Java.util.concurrent 替代方案
替換對於最低 SDK 版本為 16 的應用程式使用 java.util.concurrent 的靜態內部類AsyncTask,可以使用以下程式碼片段使用:
ExecutorService executor = Executors.newSingleThreadExecutor(); Handler handler = new Handler(Looper.getMainLooper()); executor.execute(new Runnable() { @Override public void run() { //Background work here handler.post(new Runnable() { @Override public void run() { //UI Thread work here } }); } });
或者,使用Java 8 或更高版本的開發人員可以進一步簡化程式碼:
ExecutorService executor = Executors.newSingleThreadExecutor(); Handler handler = new Handler(Looper.getMainLooper()); executor.execute(() -> { //Background work here handler.post(() -> { //UI Thread work here }); });
這種方法利用java. util.concurrent 套件來執行後台任務和用於更新UI 執行緒的處理程序。它是已棄用的 AsyncTask API 的合適替代品,同時保持與運行較舊 API 級別的 Android 設備的兼容性。
以上是如何替換 Android 11 中已棄用的 AsyncTask API?的詳細內容。更多資訊請關注PHP中文網其他相關文章!