首页 > 其他分享 >BUG处理

BUG处理

时间:2023-01-12 14:56:21浏览次数:24  
标签:mHandler 处理 bytes buffer Handler obtainMessage 数据 BUG

项目场景:

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

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


问题描述

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

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

@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()

标签:mHandler,处理,bytes,buffer,Handler,obtainMessage,数据,BUG
From: https://www.cnblogs.com/ganshang/p/17046656.html

相关文章

  • java idea debug变慢
    问题debug启动比run慢的非常多原因断点太多(刚开始直接取消了几个断点,没啥变化)解决取消打钩......
  • macOS 13 login items notifications close bug All In One
    macOS13loginitemsnotificationsclosebugAllInOne关闭后,不生效bugs太多次的重复通知出现,遮挡屏幕,影响正常使用无法批量一键清除通知,要一个一个的滑动......
  • Linux下时间处理相关函数
    Linux下时间处理相关函数1.系统时间和RTC时间 Linux系统下包含两个时间:系统时间和RTC时间。    系统时间:是由主芯片的定时器进行维护的时间,一般情况下都......
  • 1012.Django中间件以及上下文处理器
    一、中间件中间件的引入:Django中间件(Middleware)是一个轻量级、底层的“插入”系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。  django中的中间......
  • 线程池使用ExecutorService 多线程处理队列任务
    最近转到银行工作,在做最核心的财务账务部分,对我来说是一个比较新的东西,工作也已经四年有余,接触一些新的东西,也是不错,每天也累得像狗...不说了。/捂脸接下来说一种非常实用的......
  • 56、文本处理工具-awk
    awk工作原理awk/gawk实现下面功能:文本处理、输出格式化的文本报表、执行算术运算、执行字符串操作格式:awk[option]'program'var=valuefile...awk[option]-fprogramfi......
  • lightweight处理关键点的顺序
     dataset=CocoTrainDataset(prepared_train_labels,train_images_folder,stride,sigma,path_thickness,......
  • 记录一种独特的特殊网络流处理方式
    考虑如下抽象而来的问题:你有若干物品,每个物品都有两种属性。现在你想把他们分成若干组,使得每组内物品至少某种属性都相同,使得\(\sum_iS_i^2\)组大小平方和最大。利用......
  • MQ——如何处理消费过程中的重复消费
     1、关于消息重复消息重复的情况必然存在在MQTT协议中,给出了三种传递消息时能够提供的服务质量标准,这三种服务质量从低到高依次是:Atmostonce:至多一次。消息在传......
  • python+mysql—高效的数据处理方案
    python+mysql——高效的数据处理方式使用场景大规模数据处理;多个任务可以并发执行;需要保存结果;为实现以上三个要求,就需要充分利用服务器中的多核资源,让程序高效并发执......