Android 11 で非推奨となる AsyncTask API の代替手段
Android 11 では、java.util の利用を優先して AsyncTask API が非推奨になりました。代わりに .concurrent パッケージを使用してください。非同期タスクを使用して古い Android コードベースを維持している開発者は、将来の互換性のためにコードを調整する必要があります。
Java.util.concurrent Alternative for Static Inner Class AsyncTask
To replace a最小 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 スレッドを更新するためのハンドラー。これは、古い API レベルを実行している Android デバイスとの互換性を維持しながら、非推奨の AsyncTask API の適切な代替品です。
以上がAndroid 11 で非推奨の AsyncTask API を置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。