关于#android蓝牙接收数据滞后#的问题,如何解决?

在做PDA与蓝牙秤实时传输数据时,发现当pda给蓝牙秤发送打印小票指令后,蓝牙秤打印完小票,pda上的蓝牙接收就出现了滞后,每次在称重时就会出现大约30秒—3分钟之间的数据同步滞后问题
有时PDA锁屏后 在开屏,也会出现蓝牙接收数据滞后问题

以下代码
activity的代码

img

Bluetooth_Scale类的代码

img

img

蓝牙是不是断开重连了?按照题主的描述。 30s~ 3m。这么长时间那还能叫滞后,这肯定就是连接出问题了

如果可以确认连接没有断的话 ,那就是业务处理的效率出现了问题。
跟踪一下debug ,看下是传入到PDA慢, 还是PDA处理慢。
前者则是别人的问题, 后者则需要优化PDA的接收到数据后的处理逻辑。

我之前打日志看过,在ConnectedThread类中走了run()方法,在run方法中进入了while,但是没有在进入for循环里就停下了,等30秒或者3分钟就会进入一次
,

img

img


你这里for循环处理太耗时了
应该把数据缓存下来,然后另外开一个线程专门做数据处理
你在回调中处理的话,会造成数据通道阻塞