Di UI, untuk melakukan beberapa pekerjaan latar belakang, saya menggunakan file Thread
. Tetapi seperti yang disarankan oleh orang lain, saya sekarang menggunakan AsyncTask
.
Apa perbedaan utama antara a Thread
dan an AsyncTask
?
Dalam skenario mana, saya harus menggunakan file Thread
atau an AsyncTask
?
Jawaban:
Untuk tugas yang berjalan lama atau banyak menggunakan CPU, pada dasarnya ada dua cara untuk melakukannya: utas Java, dan AsyncTask bawaan Android.
Tidak ada yang lebih baik dari yang lain, tetapi mengetahui kapan harus menggunakan setiap panggilan penting untuk meningkatkan kinerja sistem untuk keuntungan Anda.
Gunakan AsyncTask untuk:
Gunakan utas Java untuk:
Dan ada banyak sumber daya bagus melalui internet yang dapat membantu Anda:
http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html
sumber
AsyncTask
dengan penjadwal sendiri.Jika Anda menggunakan thread Java, Anda harus menangani persyaratan berikut dalam kode Anda sendiri:
sumber
Benang
AsyncTask
sumber
Runs on its own thread
vsRuns on worker thread
? apa perbedaan antara thread Own dan thread pekerja?Untuk informasi lebih lanjut kunjungi Disini
sumber
Benang:
Thread
harus digunakan untuk memisahkan operasi yang berjalan lama dari utas utama sehingga kinerja ditingkatkan. Tetapi itu tidak dapat dibatalkan dengan elegan dan tidak dapat menangani perubahan konfigurasi Android. Anda tidak dapat memperbarui UI dariThread
.AsyncTask
dapat digunakan untuk menangani item pekerjaan yang durasinya kurang dari 5ms. DenganAsyncTask
, Anda dapat memperbarui UI tidak seperti javaThread
. Tetapi banyak tugas yang berjalan lama akan menghambat kinerja.Anda memiliki lebih sedikit alternatif untuk keduanya.
HandlerThread / Handler dan ThreadPoolExecutor
Lihat posting di bawah ini untuk lebih jelasnya:
Penangan vs AsyncTask vs Thread
sumber