Android中的消息机制

本文详细介绍了Android中消息传递的核心组件:Message、Handler和Looper。Message用于封装信息,Handler用于异步消息处理,而Looper则作为消息通道。通过Handler的sendXXX()方法发送消息,postXXX()方法计划任务,Looper的prepare()和loop()方法初始化并启动消息队列,实现线程间通信。
摘要由CSDN通过智能技术生成

使用消息队列可以完成主线程和子线程之间的消息传递,完成他们就需要使用Looper、Message和Handler类。


3个类的关系就像上图一样。Looper<===>提供消息队列的集合,消息通过Handler增加和取出。操作Handler的对象就是UI Thread和子线程。


1.消息类:Message

android.os.Message的主要功能是进行消息的封装,同时可以指定消息的操作形式,Message类定义的变量及常用方法有:

1.public int what  变量类型  用于定义此Message属于何种操作

2.public Object obj  变量类型  用于定义此Message传递的信息数据

3.public int arg1  变量类型  传递一些整型数据时使用,一般很少使用

4.public int arg2  变量类型   传递一些整型数据时使用,一般很少使用

5.public Handler getTarget()  普通类型  取得操作此消息的Handler对象

Message类中,使用最多的是what和obj两个变量,往往我们会通过what变量指明一个Message所携带的是何种信息,而通过obj传递信息。


2.消息操作类:Handler

Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值