Android之Handler、Message、MessageQueue、Looper详解

本文详细介绍了Android中的Handler、Message、MessageQueue和Looper的工作原理,包括它们如何实现线程间通信、消息的生命周期、内存泄漏问题以及常见应用场景。此外,还探讨了Handler.post与Handler.sendMessage的区别,以及如何在子线程中创建Handler。通过理解这些概念,开发者可以更好地利用Android的异步消息处理机制进行UI更新和多线程协作。
摘要由CSDN通过智能技术生成

Handler

Handler的原理

Handler的原理:
Android中主线程是不能进行耗时操作的,子线程是不能进行更新UI的。所以就有了Handler,它的作用就是实现线程之间的通信。


Handler整个流程中,主要有四个对象,handler,Message,MessageQueue,Looper。当应用创建的时候,就会在主线程中创建handler对象,我们通过要传送的消息保存到Message中,handler通过调用sendMessage方法将Message发送到MessageQueue中,Looper对象就会不断的调用loop()方法 不断的从MessageQueue中取出Message交给handler进行处理。从而实现线程之间的通信。

线程间通信的实现步骤

线程间通信的实现步骤:

  1. 在主线程中定义Handler的子类
  2. 重写Handler类的handleMessage()方法
  3. 用该子类定义全局的Handler对象,以便子线程使用
  4. 子线程获得handler对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是阿超

现在二师兄的肉比师父的都贵了.

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

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

打赏作者

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

抵扣说明:

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

余额充值