android的消息处理机制

时间:2021-07-19 17:58:04

安卓中的消息处理机制主要涉及到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()方法完成对消息的处理。