android消息处理机制原理解析

本文深入解析Android开发中的消息处理机制,包括Looper的构造和消息循环,Handler的创建与消息发送,以及UI线程的消息处理流程。通过分析源码,阐述Message的复用机制和HandlerThread的作用,帮助理解Android线程间通信的核心概念。
摘要由CSDN通过智能技术生成

在android开发过程中相信屌丝程序员们都用过Handler来处理一些逻辑任务,比如发送延迟消息处理业务等逻辑,我们常用的图片加载缓存库ImageLoader和Picasso等内部也是通过Handler来最终有后台加载线程切换到主线程(UI线程)来更新页面的,今天就趁着离职有点儿时间就抽空的分析了下它的一点源码,在此总结出来。闲言少叙,书归正传!

先来谈谈Looper:

Looper从源码上来看就是一个普通的Java类,它在消息机制中,顾名思义,就是一个消息循环的角色。下面让我们看看Looper的构造器都做了什么:

//(每个Looper对象的)消息队列,也就是说每个Looper对象都持有自己的消息队列
 final MessageQueue mQueue;
//(每个Looper线程关联的)当前线程
final Thread mThread;
private Looper(boolean quitAllowed) {
	    //初始化当前Looper对象的消息队列
        mQueue = new MessageQueue(quitAllowed);
        mThread = Thread.currentThread();//获取当前线程
    }	

从上面的代码中我们可以得出如下简单的结论:
a. <每个Looper对象都有自己的消息队列M

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭梧悠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值