Android中同一进程的不同线程之间传递消息通过,消息队列实现。
 
Looper:用于管理当前线程的消息队列,android中线程默认是不包含消息队列和消息循环的。Looper.prepare()为当前的线程初始化消息队列,Looper.loop()启动一个消息队列。
Handler: 用于向目标线程发送消息Handler.sendMessage(Message msg),和处理消息队列中的消息Handler.handleMessage(Message msg);
 
Looper中的MessageQueue是跟某个特定的线程的绑定的,其他的线程若要跟该线程通信,则必须通过Handler向该线程发送消息。
 
Handler and Looper的关系如下图所示: