Android 11 の AsyncTask API の代替
Android AsyncTask API は Android 11 で非推奨となり、java.util.concurrent と Kotlin が優先されます。同時実行ユーティリティ。この非推奨により、古いコードベースでは代替の非同期タスク実装を採用する必要があります。
AsyncTask の代替となる可能性の 1 つは、java.util.concurrent の Executor を使用することです。
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 }); });
Kotlin 同時実行性ユーティリティはさらに簡潔なソリューションを提供しますが、この説明の範囲を超えています。これらの代替手段を採用することで、開発者は Android 11 以降の AsyncTask API の非推奨ステータスを遵守しながら、非同期タスクを引き続き使用できます。
以上がAndroid 11 以降における AsyncTask の最良の代替手段は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。