2012-02-11 16 views
1

InputStreamからデータを読み込むアプリケーションを作成する必要があります。つまり、私のアプリはまずBluetoothデバイスに接続します。接続後、私のアプリはInputStreamからデータを連続的に読み込みます。つまり、デバイスが20ミリ秒のデータを送信し、アプリが24時間このデータを受信する可能性があります。今の私はそのように、このデータを読む:それは流れの中で、入力ストリームが近いときに停止した場合InputStreamから読み取る

while((bytesReceived = is.read(buffer))>-1) { 
    //things to do with data 
} 

このループは、データを受信します。私の問題は、それが最適な解決策ではないと思うことです。 is.read(バッファ)がデータを受信した後、次のデータを待つことをブロックし、多くのプロセッサを消費します。プロセッサの消費電力を最小限に抑えたデータを読み取るには、より良い方法を知っていますか?助けてくれてありがとう。

BTW。私はAndroidでJavaで自分のアプリを書く。

答えて

7

AブロックreadはCPUを消費しません。 OSは呼び出しスレッド/プロセスをスリープ状態にします。

ループは問題ありません。

+0

ありがとうございます:P – klemens