Java Android蓝牙输出流慢写

Java Android蓝牙输出流慢写,java,android,bluetooth,inputstream,Java,Android,Bluetooth,Inputstream,我正在构建一个客户端服务器android应用程序。Google Glass中安装了一个应用程序,通过蓝牙连接发送摄像头捕获的视频帧。另一个应用程序安装在Android设备中并读取视频帧。从流读取时len=mmInStream.readbuffer,0,bufferSize;看起来读取的最大字节数是990。我是否将bufferSize设置为一个非常大的数字并不重要 我正在发送一个带有4个通道的320x240图像帧。所以这是一个总数 307200字节。因此,当读取整个图像时,它正在被读取 以990字

我正在构建一个客户端服务器android应用程序。Google Glass中安装了一个应用程序,通过蓝牙连接发送摄像头捕获的视频帧。另一个应用程序安装在Android设备中并读取视频帧。从流读取时len=mmInStream.readbuffer,0,bufferSize;看起来读取的最大字节数是990。我是否将bufferSize设置为一个非常大的数字并不重要

我正在发送一个带有4个通道的320x240图像帧。所以这是一个总数 307200字节。因此,当读取整个图像时,它正在被读取 以990字节为单位,我认为这会影响我的应用程序的速度。信息技术 读取所有数据需要1-3秒。有没有办法改变这种状况 最大读取字节数?这是应用程序设置还是由 安卓操作系统?我不确定一次读取所有数据是否会影响 但我只是好奇。 更新: 当使用OutputStream从Google Glass发送数据时,我注意到了同样的事情。写入OutputStream大约需要2秒钟。这是蓝牙连接的正常性能吗?有没有更好的方法在两台设备之间传输摄像头捕获帧

更新2:
我认为延迟在于写入速度。将数据写入流大约需要2秒钟。当另一个应用程序尝试读取数据时,它可能会等待将完整的数据写入流。仍然不确定这是否如预期的那样或仍然可以改进。

如果可以,请使用Bluetooh套接字增加套接字接收缓冲区大小。@EJP我对此进行了快速搜索,但找不到有关更改接收缓冲区大小的任何信息。您是否在写流上调用了flush?@mr.icetea不确定这会产生什么影响。但我在写入数据后尝试添加flush,结果还是一样。你有什么解决方案吗?我也面临同样的问题。有时写东西花费太多时间,例如2-3秒