Mối quan hệ giữa Looper, Handler và MessageQueue trong Android là gì?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
23 lượt xem
Android master
  • Một Looper là một vòng lặp xử lý tin nhắn (message): nó đọc và xử lý các items từ một MessageQueue. Lớp Looper thường được sử dụng kết hợp với một HandlerThread (là một lớp con của Thread).
  • Một Handler là một lớp tiện ích giúp tương tác với một Looper, chủ yếu bằng cách gửi các tin nhắn và đối tượng Runnable vào MessageQueue của luồng. Khi một Handler được tạo, nó được gắn với một Looper cụ thể (và luồng và message queue tương ứng).
  • Trong cách sử dụng điển hình, bạn tạo và bắt đầu một HandlerThread, sau đó tạo một đối tượng Handler (hoặc nhiều đối tượng) mà các luồng khác có thể tương tác với thể hiện của HandlerThread. Handler phải được tạo trong quá trình chạy trên HandlerThread, mặc dù sau khi tạo, không có ràng buộc nào đối với các luồng có thể sử dụng các phương thức lên lịch của Handler (post(Runnable), v.v.).

Luồng chính (còn gọi là luồng UI) trong một ứng dụng Android được thiết lập như một luồng xử lý trước khi thể hiện của ứng dụng của bạn được tạo.

Mối quan hệ giữa Looper, HandlerMessageQueue được mô tả như sau:

PhongvanIT.com

Câu hỏi tiếp theo: Phương thức onTrimMemory là gì?
{{login.error}}