Rumah >Java >javaTutorial >Bagaimana untuk Menggantikan API AsyncTask yang Dihentikan dalam Android 11?

Bagaimana untuk Menggantikan API AsyncTask yang Dihentikan dalam Android 11?

Susan Sarandon
Susan Sarandonasal
2024-12-18 12:28:10220semak imbas

How to Replace the Deprecated AsyncTask API in Android 11?

Alternatif kepada AsyncTask API Dihentikan Penggunaannya dalam Android 11

Dalam Android 11, AsyncTask API telah ditamatkan penggunaannya dan memihak kepada penggunaan java.util .pakej serentak sebaliknya. Pembangun yang mengekalkan pangkalan kod Android lama dengan tugas tak segerak perlu menyesuaikan kod mereka untuk keserasian masa hadapan.

Java.util.concurrent Alternative for Static Inner Class AsyncTask

Untuk menggantikan a kelas dalaman statik AsyncTask menggunakan java.util.concurrent untuk aplikasi dengan versi SDK minimum 16, coretan kod berikut boleh digunakan:

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
            }
        });
    }
});

Sebagai alternatif, pembangun yang menggunakan Java 8 atau yang lebih baru boleh memudahkan lagi kod:

ExecutorService executor = Executors.newSingleThreadExecutor();
Handler handler = new Handler(Looper.getMainLooper());

executor.execute(() -> {
    //Background work here
    handler.post(() -> {
        //UI Thread work here
    });
});

Pendekatan ini menggunakan java.util. pakej serentak untuk melaksanakan tugas latar belakang dan Pengendali untuk mengemas kini urutan UI. Ia adalah pengganti yang sesuai untuk API AsyncTask yang telah ditamatkan sambil mengekalkan keserasian dengan peranti Android yang menjalankan tahap API yang lebih lama.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan API AsyncTask yang Dihentikan dalam Android 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn