Handler相关知识

Handler 相关知识
要想快速掌握Handler?必须了解Handler是什么。它是干什么的 。
Habdler是android子线程跟主线程发送消息,主线程处理消息的一种通信机制
Handler的作用是可以让其耗时的操作都交给子线程。用来发送跟处理消息
Handler包含四个类:
分别有Handler,Message,MessageQueue,Looper;
Message:它可以用来存储消息
MessageQueue:简单理解 它就是一个可以存放消息的一个容器即消息队列
Looper:利用for(死循环) 不断地从MessageQueue消息队列中抽取信息,有消息就做处理,可以在主线程和子线程之间互相传递数据 用来接收消息的返回对象给Handler
并且一个线程只能有一个looper,但是可以有多个Handler

消息机制的架构
在子线程执行完耗时操作,handler》发送消息,将调用meaasgequeueu.enqueueMessage(enqueue入队),想消息队列+消息

Looper:loop开启循环,不断从线程池中读取消息,调用目标handler的dispatchmessage方法传递消息,》返回到handler所在线程,目标handler收到消息,调用handlermessage接收,处理消息

messagequeueu、handler、looper三者的关系
每个线程》only一个looper,looper》save在threadlooper中,主线程》有一个looper不必创建,其他线程还是要创建的,一个线程可以有多个handler,一个looper维护一个messagequeue,在这里插入图片描述

总结:
looper有一个MessageQueue

MessageQueue有一组待处理的message

Massage记录发送和处理的handler

handler中有Looper和MassageQueue

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值