【发布时间】:2012-03-03 16:04:53
【问题描述】:
我需要编写将从 InputStream 读取数据的应用程序。简而言之:我的应用程序将首先连接到蓝牙设备。连接后,我的应用程序将不断地从 InputStream 中读取数据。我的意思是设备将发送 20 毫秒的数据,而应用程序将接收到此数据,工作时间可能更长 24 小时。现在我以这种方式读取这些数据:
while((bytesReceived = is.read(buffer))>-1) {
//things to do with data
}
此循环在流中接收数据,并在输入流关闭时停止。我的问题是我认为这不是最佳解决方案。在 is.read(buffer) 接收数据后,它会阻塞等待下一个数据,这会消耗大量处理器。你知道有什么更好的方法来读取消耗最少处理器功率的数据吗?感谢您的帮助。
顺便说一句。我在 Android 上用 Java 编写我的应用程序。
【问题讨论】:
标签: java android inputstream