这个bug困扰很久了,求万能的CSDN解答。
手头的项目,用android平板的蓝牙4.0连接三个BLE蓝牙传感器。获取传感器的数据。
蓝牙传感器以每包/20ms的速度发送数据,每包数据16字节。(3个传感器总数据量,不大吧)
在onCharacteristicChanged()回调方法中,获取数据,并发送给业务端。
那么问题来了,3个传感器数据理论上是平均的发过来的;
但是实际接收中,不定期的,某一个传感器会出现3-4s的数据丢失(onCharacteristicChanged()方法没有回调),
单独连接一个传感器,不会出现数据丢失。但是连接3个以后就会出现。
传感器硬件先排除,内存也并没有溢出,蓝牙连接没有断开。只是会出现“数据丢失”。
怀疑是蓝牙4.0底层的问题,或者数据处理队列的问题?不太懂。有没有了解的大神解答下。挺着急的。
gatt1 = btdevice.connectGatt(context, false, new BluetoothGattCallback() {});
如有没说完全的,请提问,我继续补充。非常感谢
楼主的这个问题解决了吗?解决了的话能给我些意见吗?我写蓝牙的数据的时候,设备那端会有时候出现数据丢失,写的太快会丢失的很严重,所以我一般延迟几百ms,但是有时候还是会丢失!!我觉得写和读的数据太快了会堵塞,从而导致数据丢失!