2016-02-03 41 views
1

我從藍牙設備獲取數據的22字節每10毫秒緩衝慢讀取數據從藍牙設備

現在的問題是,緩衝區是花更多的時間來讀取數據,所以我從丟失數據設備

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

logcat

回答

0

只讀取一個字節[]會自行阻塞。您可能想要使用read(byte[], int offset, int size)來只讀取您想要的字節。

您可以通過檢查返回值來檢查read(byte [])返回的字節數。

+0

雖然我剛纔看到read(byte [])等價於read(byte [],0,buffer.length)。 – ThaMe90

+0

結果仍然相同 –

相關問題