深入理解Looper,MessageQueue,Handler

本文深入解析Android中的Handler机制,包括Looper对象、MessageQueue消息队列和Handler的作用与工作原理。阐述了如何通过Handler实现子线程与主线程的数据传递及UI更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.详细解释:
1.Looper对象:消息轮询器。一个线程只能创建一个Looper对象。在主线程创建的时候就创建了。不断的获取MessageQueue消息队列中的一个消息,然后交给Handler进行处理。
2.MessageQueue消息队列:消息队列。是由Message组成的一个队列。Handler对象发送Message消息给消息队列。消息的创建者就是一个Handler或者多个Handler。
3.Handler:获取到Looper交给的消息队列中的消息进行处理。可以在主线程和子线程中进行数据的传递与交互。

二.Handler机制:
这里写图片描述
通俗一点讲:当我们的子线程想修改Activity中的UI组件时,我们可以新建一个Handler对象,通过这个对象向主线程发送信息;而我们发送的信息会先到主线程的MessageQueue进行等待,由Looper按先入先出顺序取出,再根据message对象的what属性分发给对应的Handler进行处理!

1.Handler创建消息:
这里写图片描述

2.Handler发送消息:
这里写图片描述

3.Handler处理消息:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值