Alternatif kepada AsyncTask API dalam Android 11
Android AsyncTask API telah ditamatkan penggunaannya dalam Android 11 memihak kepada java.util.concurrent dan Kotlin utiliti concurrency. Penamatan ini memerlukan pangkalan kod yang lebih lama untuk menerima pakai pelaksanaan tugas tak segerak alternatif.
Satu potensi penggantian untuk AsyncTask menggunakan Pelaksana daripada java.util.concurrent:
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 } }); } });
Untuk Java 8 dan ke atas, perkara berikut versi ringkas mungkin:
ExecutorService executor = Executors.newSingleThreadExecutor(); Handler handler = new Handler(Looper.getMainLooper()); executor.execute(() -> { // Background work here handler.post(() -> { // UI Thread work here }); });
Utiliti serentak Kotlin menawarkan lebih banyak lagi penyelesaian yang ringkas tetapi berada di luar skop perbincangan ini. Dengan menggunakan alternatif ini, pembangun boleh terus menggunakan tugas tak segerak sambil mematuhi status API AsyncTask yang tidak digunakan dalam Android 11 dan seterusnya.
Atas ialah kandungan terperinci Apakah Alternatif Terbaik untuk AsyncTask dalam Android 11 dan Seterusnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!