Sự khác biệt giữa Handler
, AsyncTask
và Thread
trong Android là gì?
Sự khác biệt giữa Handler
, AsyncTask
và Thread
trong Android là gì?
Trong Android, Handler
, AsyncTask
và Thread
là ba cơ chế quản lý luồng và thực hiện công việc nền khác nhau, mỗi cái có ưu và nhược điểm riêng:
Handler
cho phép bạn gửi và xử lý các đối tượng Message
và Runnable
liên kết với hàng đợi tin nhắn (MessageQueue
) của một luồng. Mỗi luồng có hàng đợi tin nhắn riêng của nó.Handler
thường được sử dụng để giao tiếp với giao diện người dùng từ một luồng nền, ví dụ như cập nhật một thanh tiến trình.Handler
có lợi thế của hàng đợi tin nhắn, cho phép bạn lên lịch tin nhắn hoặc cập nhật nhiều phần tử giao diện người dùng hoặc có các tác vụ lặp lại.AsyncTask
là một cơ chế giúp thực hiện các tác vụ nền một cách đơn giản, không chạy trên luồng giao diện người dùng (UI thread) nhưng vẫn có thể tương tác với UI sau khi hoàn thành.AsyncTask
thực sự sử dụng Handler
bên trong nhưng cung cấp một cách tiện lợi hơn để xử lý các tác vụ nền như lấy dữ liệu từ web services.AsyncTask
có các hạn chế n...middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào