JavaScript is required

Trong Android, để thực hiện các tác vụ nền (background tasks) mà không ảnh hưởng đến giao diện người dùng, nên sử dụng gì?

A.

AsyncTask

B.

IntentService

C.

Handler

D.

D.BroadcastReceiver

Trả lời:

Đáp án đúng: B


A. AsyncTask: AsyncTask cho phép thực hiện các tác vụ nền một cách dễ dàng và trực tiếp từ luồng giao diện người dùng. Nó cung cấp các phương thức như doInBackground() (thực hiện tác vụ nền), onPreExecute() (chuẩn bị trước khi thực hiện), onPostExecute() (xử lý kết quả sau khi thực hiện) và onProgressUpdate() (cập nhật tiến trình), giúp dễ dàng quản lý và tương tác với giao diện người dùng trong quá trình thực hiện tác vụ nền.

B. IntentService: IntentService cũng được sử dụng cho các tác vụ nền, nhưng nó tự động xử lý các yêu cầu tuần tự trên một luồng làm việc duy nhất. IntentService thích hợp cho các tác vụ cần thực hiện lần lượt và không cần tương tác trực tiếp với giao diện người dùng.

C. Handler: Handler cho phép gửi và xử lý các Message và Runnable liên quan đến một luồng (thread). Nó thường được sử dụng để giao tiếp giữa các luồng, nhưng việc quản lý luồng và tác vụ nền phức tạp hơn so với AsyncTask hoặc IntentService.

D. BroadcastReceiver: BroadcastReceiver dùng để nhận các broadcast từ hệ thống hoặc ứng dụng khác và phản hồi lại. Nó không được thiết kế để thực hiện các tác vụ nền dài hạn.

Trong trường hợp này, AsyncTask là lựa chọn phù hợp nhất vì nó được thiết kế đặc biệt để thực hiện các tác vụ nền ngắn hạn và tương tác với giao diện người dùng.

Câu hỏi liên quan