Java 从输入流读取
我需要写的应用程序,将从InputStream芦苇数据。简而言之:我的应用程序将首先连接到蓝牙设备。连接后,我的应用程序将不断地从InputStream发送数据。我的意思是,该设备将发送20毫秒的数据,而应用程序将接收24小时的数据工作,可能甚至更多。目前,我以这种方式阅读这些数据:Java 从输入流读取,java,android,inputstream,Java,Android,Inputstream,我需要写的应用程序,将从InputStream芦苇数据。简而言之:我的应用程序将首先连接到蓝牙设备。连接后,我的应用程序将不断地从InputStream发送数据。我的意思是,该设备将发送20毫秒的数据,而应用程序将接收24小时的数据工作,可能甚至更多。目前,我以这种方式阅读这些数据: while((bytesReceived = is.read(buffer))>-1) { //things to do with data } 此循环在数据流中时接收数据,在inputstream关闭
while((bytesReceived = is.read(buffer))>-1) {
//things to do with data
}
此循环在数据流中时接收数据,在inputstream关闭时停止。我的问题是,我认为这不是最佳解决方案。在is.readbuffer接收数据后,它会阻止等待下一个数据,这会消耗大量处理器。您知道有什么更好的方法来读取消耗最少处理器功耗的数据吗。谢谢你的帮助
顺便说一句,我在Android上用Java编写我的应用程序。阻塞读取不会消耗CPU。操作系统将使调用线程/进程进入睡眠状态
这个循环很好。阻塞读取不会占用CPU。操作系统将使调用线程/进程进入睡眠状态
这个环很好