Android - Handler机制

在Android系统中Activity View的更新的操作是非线程安全的,例如:如果多个线程并发的去操作同一个View,那么系统就可能不知道如何处理而导致程序无法快速响应而崩溃。为了防止出现这个问题,Android官方就规定了只允许创建该UI的线程来修改UI组件的属性,也就是必须是单线程模型。但是如果子线程涉及到主线程中UI的更新,就要使用Handler消息机制完成UI进行更新操作。

在本项目中,蓝牙设备间的连接和通信线程就属于子线程(主线程通常都是UI线程),那么要使得蓝牙线程中接受或者发出的消息显示到主线程中,就需要用到Android的Handler消息机制。Handler机制是Android中的一种消息的异步处理机制,其简单的工作原理如下图所示:

这里写图片描述

与Handler工作的几个组件Looper、MessageQueue的作用:

Handler:其它子线程将把消息发送给Looper管理的MessageQueue,并负责处理Looper分给它的消息——通过重写HandlerMessage()方法处理消息。
MessageQueue:采用消息队列的方式来管理Message。
Looper:功能是管理MessageQueue,不断的从该消息队列中取消息,并将相对应的消息分给Handler处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值