Мне нужно написать приложение, которое будет получать данные из InputStream. Вкратце: мое приложение сначала подключится к устройству Bluetooth. После подключения мое приложение будет непрерывно получать данные из InputStream. Я имею в виду, что устройство будет отправлять данные за 20 милсек, а приложение будет получать эти данные, работая в течение 24 часов, может даже больше. Пока я читаю эти данные так:
while((bytesReceived = is.read(buffer))>-1) {
//things to do with data
}
Этот цикл получает данные, когда он находится в потоке, и останавливается, когда входной поток близок. Моя проблема в том, что я думаю, что это не оптимальное решение. После того, как is.read (буфер) получает данные, он блокирует ожидание следующих данных, которые потребляют много процессора. Знаете ли вы какой-нибудь лучший способ считывания данных, который потребляет наименьшую мощность процессора. Спасибо за любую помощь.
КСТАТИ. Я пишу свое приложение на Java на Android.