记录bug1

项目场景:

提示:这里简述项目相关背景:

例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)


问题描述

提示:这里描述项目中遇到的问题:

例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据

APP 中接收数据代码:

c 复制代码
@Override
	public void run() {
		bytes = mmInStream.read(buffer);
		mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
	}

原因分析:

提示:这里填写问题的分析:

例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。


解决方案:

提示:这里填写该问题的具体解决方案:

例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()

相关推荐
私房菜33 分钟前
Selinux 及在Android 的使用详解
android·selinux·sepolicy
一只特立独行的Yang1 小时前
Android中的系统级共享库
android
两个人的幸福online2 小时前
php开发者 需要 协程吗
android·开发语言·php
修炼者3 小时前
WindowManager(WMS)构建全局悬浮窗
android
xiaoshiquan12063 小时前
Android Studio里,SDK Manager显示不全问题
android·ide·android studio
Lstone73644 小时前
Bitmap深入分析(一)
android
一起搞IT吧5 小时前
Android功耗系列专题理论之十四:Sensor功耗问题分析方法
android·c++·智能手机·性能优化
ByNotD0g5 小时前
Doris 学习笔记
android·笔记·学习
修炼者5 小时前
【Android进阶】 RenderEffect的底层实现
android