Android:Handler消息机制(二)——如何使用Handler消息机制

本文详细解析了Android中Handler消息机制的工作步骤,包括异步通信准备、消息发送、消息循环和消息处理。介绍了通过sendMessage()和post()发送消息的方式,以及这两种方式下Handler的创建、消息对象的创建和发送过程,最后提到了源码分析的内容。
摘要由CSDN通过智能技术生成

一、消息机制的工作步骤

Handler的工作流程分为四个步骤异步通信准备、消息发送、消息循环、消息处理:

1.异步通信准备:在主线程中创建处理器对象、消息队列对象、Handler对象,Looper和MessageQueue均属于主线程,在创建MessageQueue后Looper自动进入消息循环,此时Handler自动绑定主线程的Looper、MessageQuene,并且启动子线程

2.消息入队:工作子线程通过Handler发送消息Message到消息队列MessageQueue中,该消息内容就是工作线程对UI的操作

3.消息循环:Looper会一直遍历绑定的消息队列,在消息循环过程中,若消息队列为空则线程阻塞,当队列不为空时,由Lopper逐个取出消息队列中的消息,并分发给创建该消息的Handler。

4.消息处理:处理者Handler接受Looper发送过来的消息并根据消息进行UI操作

 

二、Handler使用过程

Handler的使用方式因发送消息Message到消息队列MessageQueue的方式不同而不同,一共分为使用Handler.sendMessage()和使用Handler.post()两种方式:

方式1:使用Handler.sendMessage(),在该方式中又分为新建Handler子类和匿名Handler子类两种:

 

1.新建Handler子类

(1)自定义Handler子类,继承Handler,重写handlerMessage方法从而确定更新UI的操作,即需要执行的UI操作,根据不同线程发过来的消息执行不同的操作,可以根据Message的what属性标示不同的信息

            class mHandler extends Handler {
        		// 通过复写handlerMessage() 从而确定更新UI的操作
        		@Override
        		public void handleMessage(Message msg) {
         		...// 需执行的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值