Android线程的消息分发机制

Handler:多线程

处理者,通常在主线程建立(在工做线程也能够建立,这个下一篇会详细说到),处理各类线程发送过来的* Message,根据Message内容在主线程作不一样的处理。oop

Message:线程

消息体,在多线程中担任一个内容载体的角色,包含了消息的类型,参数,数据等内容,其中还包括一个重要的对象,那就是它将会被发送给那个handler。翻译

MessageQueue:对象

消息队列,全部发送给handler处理的消息都会保存在消息队列中,其内部使用链表的形式维护这些message。队列

Looper:消息队列

这个怎么说呢,它的英文解释为一个打环的装置,我也不知道该怎么翻译,它的做用是能够让线程一直活着,而不是执行完一个功能代码后就死掉了,每一个Looper的实例有一个MessageQueue和当前线程对象,正是这两个类让线程能够一直活着,也就是Looper打环的装置的意思吧。咱们的主线程就是由于它才能够一直执行而不退出。链表