Handler消息机制

消息机制

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)。

示意图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值