一、Handler概念:
Handler主要用于异步消息的处理,允许你发送并执行Message和与线程有关的MessageQueue。使用Handler发送消息之后,在Handler的回调方法中进行接收。对发送消息和接收消息进行不同步处理,这种机制通常用来处理耗时较长的操作。
二、 Handler中涉及的内容:
1. Message:消息,其中包含了消息ID、消息处理对象及其处理的数据等,由MessageQueue统一列队,终由Handler处理;
2. MessageQueue:消息队列,用于存放Handler发送的消息,按照FIFO规则执行;
3. Handler:处理者,负责Message的发送和处理,需要实现handleMessage(Messagemsg)方法对特定的Message进行处理,例如更新UI等;
4. Looper:消息汞,不断从MessageQueue中抽取Message执行;
5. Thread:线程,负责调度整个消息循环,即消息循环的执行场所。
三、 总结:
1. 一个Thread对应一个Looper;
2. 一个Looper对应一个MessageQueue;
3. 一个Looper可以对应多个Handler