Handler
Handler是Android给我们提供用来更新UI的一套机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它处理消息。
Android在设计的时候,就封装了一套消息创建、传递、处理机制,如果不遵循这种机制就没有办法更新UI,会抛出异常信息。
Handler原理(封装消息的发送)
1) Handler封装了消息的发送(主要包括消息发送给谁)
Looper
I. 内部包含了一个消息队列也就是MessageQueue,所有的Handler发送的消息都走向了这个消息队列。
II. Looper.loop方法,就是个死循环,不断的从MessageQueue取消息,如有消息就处理消息,没有消息就阻塞
2) MessageQueue,就是一个消息队列,可以添加消息,并处理消息
3) Handler也很简单,内部会跟Looper进行关联,也就是说Handler的内部可以找到Looper,找到了Looper也就是找到了MessageQueue,在Handler中发送消息,其实是向MessageQueue队列中发送消息。总结: Hanlder负责发送消息,Looper负责接收Handler发送消息,并且直接把消息回传给Handler自己,MessageQueue就是一个存储消息的容器。