Handler分析

Looper:消息泵
作用:不断从消息队列中获取消息通过Handler的消息分发机制进行消息处理
MessageQueue:消息队列
作用:存储消息的,采用的队列的数据结构(先进先出)
Handler:消息处理者
作用:发送消息并且可以分发消息
Message:消息
作用:携带交互的数据

如果想进行线程间数据交互,我们就可以采用Handler进行操作
首先:对应的线程应该先创建Looper 对象
Looper.prepare(一个线程只能有一个looper对象)
然后再实例化Handler对象,而且这个Handler就拥有当前线程的Looper对象和looper对象中的消息队列,实例化handler的时候就 决定了消息的分发机制
depattchMessage进行消息分发,优先分给Message.CallBack,不存在就 分发给
Handler.CallBack,不存在就分发给Handler的handleMessage
完成所需的handler的实例化之后调用Looper.loop开启消息的循环获取
loop方法就是不断的从当前的消息队列中获取将要发送的消息,然后调用对应的handler的消息分发。最后如果需要发送数据就使用上述实例化的handler对象调用对应的发送方法将消息添加等待着looper的循环获取
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值