安卓中的消息处理机制主要涉及到5个概念
(1)消息类:Message,可以理解成一个数据单元;
(2)消息队列类:Message Queue,存放通过Hander发布的消息,处理顺序类似于队列,按照先进先出的顺序执行;
(3)消息操作类:Handler,用于处理包装在Message中的数据;
(4)消息通道类:Looper,它是Message Quene和Handler的桥梁,循环取出Message Quene中的Message交给相应Handler处理;
(5)线程:UI thread,每一个线程可含有一个Looper对象以及一个Message Quene数据结构;
处理流程大致如下:
(1)包装Message对象(把数据封装在Message对象中);
(2)通过Handler的sendMessage()等方法把Message发送出去;
(3)在Handler的处理方法中将Message添加到Handler所绑定的Looper的MessageQuene上;
(4)Looper的loop()方法通过循环不断地从MessageQuene中提去Message进行处理,并移除处理完的Message
(5)调用Message绑定的Handler对象的dispatchMessage()方法完成对消息的处理。