Apa perbedaan antara layanan dan AsyncTask di Android?


Jawaban 1:

Dalam beberapa kasus dimungkinkan untuk menyelesaikan tugas yang sama baik dengan AsyncTask atau Layanan namun biasanya satu lebih cocok untuk tugas daripada yang lain.

AsyncTasks dirancang untuk tugas yang memakan waktu sekali saja yang tidak dapat dijalankan dari utas UI. Contoh umum adalah mengambil / memproses data ketika tombol ditekan.

Layanan dirancang untuk terus berjalan di latar belakang. Pada contoh di atas mengambil data saat tombol ditekan, Anda dapat memulai layanan, membiarkannya mengambil data, dan kemudian menghentikannya, tetapi ini tidak efisien. Jauh lebih cepat menggunakan AsyncTask yang akan berjalan sekali, mengembalikan data, dan selesai.

Namun, jika Anda harus terus melakukan sesuatu di latar belakang, Layanan adalah taruhan terbaik Anda. Contohnya termasuk memutar musik, terus-menerus memeriksa data baru, dll.

Juga, seperti yang sudah dikatakan Sherif, layanan tidak perlu lari dari utas UI.

Untuk sebagian besar, Layanan adalah ketika Anda ingin menjalankan kode bahkan ketika Aktivitas aplikasi Anda tidak terbuka. AsyncTasks dirancang untuk membuat kode eksekusi dari utas UI sangat sederhana.

Url Android: AsyncTask vs Layanan