Handler消息机制

来源:互联网 发布:itunes能备份哪些数据 编辑:程序博客网 时间:2024/06/18 11:53

消息机制

Android中的消息机制主要是指Handler,MessageQueue,Looper机制。

Handler

Handler的主要方法:sendMessage(msg)、handleMessage(msg)、dispatchMessage(msg)。
其中sendMessage(msg)主要负责发送消息,调用enqueueMessage(msg,long)向MessageQueue中插入消息。

MessageQueue

消息队列本质上是一个单链表,主要方法有:enqueueMessage(msg,long)负责向链表中插入一条消息,next()负责从链表中取出一条消息,并删除。

Looper

首先来看Looper的构造器:

private Looper (boolean quitAllowed){    mQueue = new MessageQueue(quitAllowed)    mThread = Thread.currentThread();}

常用方法:Looper.prepare(),Looper.loop();

在调用Looper.prepare()时,会生成一个消息队列并且绑定当前线程。
Looper.loop的方法调用了:next()方法来遍历消息,dispatchMessage(msg)方法来调用Handler的handleMessage(msg)。

示意图:

0 0