Rumah >Java >javaTutorial >Bagaimanakah saya boleh menggunakan runOnUiThread dengan betul untuk Mengemas kini UI Android daripada Thread Latar Belakang?

Bagaimanakah saya boleh menggunakan runOnUiThread dengan betul untuk Mengemas kini UI Android daripada Thread Latar Belakang?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 04:58:091018semak imbas

How Can I Correctly Use runOnUiThread to Update the Android UI from a Background Thread?

Cara Menggunakan runOnUiThread dengan Berkesan dalam Pembangunan Android

Apabila bekerja dengan urutan UI dalam Android, adalah penting untuk mengelakkan kemungkinan ranap sistem dengan memastikan bahawa Tugas berkaitan UI dilaksanakan pada urutan yang betul. Kaedah runOnUiThread memainkan peranan penting dalam proses ini.

Dalam contoh kod yang disediakan, salah tanggapan terletak dalam pelaksanaan kaedah runThread. Percubaan untuk mencipta utas menggunakan runOnUiThread akan mengakibatkan ralat, kerana runOnUiThread direka bentuk untuk mengendalikan operasi UI dan bukannya mencipta utas.

Untuk membetulkan isu ini, kaedah runThread harus diubah suai seperti berikut:

private void runThread() {
    new Thread() {
        public void run() {
            while (i++ < 1000) {
                try {
                    runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            btn.setText("#" + i);
                        }
                    });
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }.start();
}

Versi yang diperbetulkan ini mencipta urutan berasingan dan menggunakan runOnUiThread dalam urutan itu untuk melaksanakan tugas berkaitan UI (dalam kes ini, mengemas kini teks butang). Pendekatan ini memastikan urutan UI kekal responsif semasa operasi yang memakan masa (gelung) dilaksanakan di latar belakang.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan runOnUiThread dengan betul untuk Mengemas kini UI Android daripada Thread Latar Belakang?. 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