作用:
跨线程通信,异步通信。当子线程中进行耗时操作后需要更新UI时,通过Handler将有关的UI操作切换到主线程中执行。
四要素:
Message(消息):需要被传递的消息,其中包含了消息标识(what),消息处理数据和处理对象(arg1,arg2,obj),发送该消息的Handler对象(target)等,由MessageQueue统一列队,最终由Handler处理。
MessageQueue(消息队列):由Looper负责管理,管理Handler发送过来的Message,其底层实现采用的是单链表。
Handler(处理者):负责Message的发送及处理。通过 Handler.send