使用Android BLE API连续几次GATT读取时,我遇到了性能问题.
我可以每秒读取大约10个数据包,大约5或6秒.在读取~65的数据包后,吞吐量每1.5秒减少到大约1个数据包.
我做了几次测试,似乎内部BLE变得非常慢.在这种情况下,Java GATT对外围设备的读取调用(外围设备中没有瓶颈)大约需要750毫秒,并且大约相同的750毫秒,回到Java API回调.
在我看来是糟糕的BLE堆栈实现,因为当我断开与设备的连接(可能是一些资源被清理),然后重新连接回来我可以重现相同的问题:它读取前10或6的大约10包/秒仅秒(~65个包读取),然后变慢.
我用Galaxy S4和Nexus 4设备测试了它.两者都一样.
有关如何改进它的任何建议?
解决方法:
我希望自2014年6月5日起,您可以找到问题的解决方案.
我也有同样的问题.前2~3秒,我收到~100ms的数据.之后,我每个〜2000ms收到数据.我在4.3及以上的设备上测试.
我找到了Lollipop版本,并且在BluetoothGatt上的requestConnectionPriority以上.
我找不到4. *版本的解决方案.如果有人有建议.
希望这有助于有人在数据传输上遇到蓝牙问题!