我每隔10毫秒从蓝牙设备获取22字节数据
现在的问题是缓冲区花费更多时间来读取数据,因此我丢失了设备中的数据
inputStream = btSocket.getInputStream();
byte[] buffer = new byte[22];
while (inputStream != null ) {
if (inputStream != null && inputStream.available() > 0) {
long startTime = System.currentTimeMillis();
inputStream.read(buffer);
long stopTime = System.currentTimeMillis();
Log.e("time to execute code",stopTime - startTime+"");
所以我需要在每次10毫秒之前完成阅读
这是我的Logcat
答案 0 :(得分:0)
只读一个字节[]本身就是阻塞。您可能希望使用read(byte[], int offset, int size)仅读取所需的字节。
您可以通过检查其返回值来检查read(byte [])返回的字节数。