应届毕业生面试Handler消息处理机制

本文解析了Android中Handler的工作原理,包括消息处理线程的运行机制、MessageQueue的作用及Looper的使用方式。介绍了如何通过Handler实现子线程与主线程之间的消息传递。

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

Handler 是异步处理消息处理类,常用来处理子线程发送的消息,更新UI
Handldr 是 Android 面试的常客,这一篇不讲怎么使用Handler,怎么创建。讲一讲:Handler 、 Looper 、Message(看作是一个任务) 这三者都与Android异步消息处理线程相关的概念,下面主要是理论性的知识,要想深入学习请看

http://www.cnblogs.com/smyhvae/p/4003922.html

http://blog.youkuaiyun.com/lmj623565791/article/details/38377229/

消息处理线程运行原理

异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程则会阻塞等待。

  • 用Loop创建MessageQueue
  • MessageQueue是一个消息队列,用来存放消息,并不断地循环读取Message(任务)
    ———————————这两个方法一般不需要我们去操作—————————–
  • 创建子线程,在里面用 Message.obtain();创建message,这个方法可以判断队列中是否存在相同得Message,防止重复创建
  • 使用handler发送message(数据),handler内部类中的handlerMessage方法会接收发送的消息,并处理

下面是整个机制的示例图

这里写图片描述

这篇优快云只适用于应届毕业生或者是小白去理解,不是很详细,请多包含

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值