Java 是什么原因导致蓝牙通信异常滞后?

Java 是什么原因导致蓝牙通信异常滞后?,java,android,bluetooth,android-bluetooth,Java,Android,Bluetooth,Android Bluetooth,我正在尝试开发一个android应用程序,它可以与一个系统通信,该系统通过HC-05模块(波特率设置为57600)发送传感器数据,并在一个折线图中显示数据。作为测试,我没有将数据传递给图表,而是使用System.out.println()命令打印数据。问题是数据打印不顺畅,而是一次显示多行的块。所有数据都存在,但通信(或至少数据显示)滞后 该系统以100Hz的频率发送数据(2字节信息),运行该应用程序的平板电脑似乎并不困难,因为cpu/内存使用率较低 这是我用来处理通信/绘图的线程 privat

我正在尝试开发一个android应用程序,它可以与一个系统通信,该系统通过HC-05模块(波特率设置为57600)发送传感器数据,并在一个折线图中显示数据。作为测试,我没有将数据传递给图表,而是使用System.out.println()命令打印数据。问题是数据打印不顺畅,而是一次显示多行的块。所有数据都存在,但通信(或至少数据显示)滞后

该系统以100Hz的频率发送数据(2字节信息),运行该应用程序的平板电脑似乎并不困难,因为cpu/内存使用率较低

这是我用来处理通信/绘图的线程

private class ReadInput implements Runnable {

    private boolean bStop = false;
    private Thread t;

    public ReadInput() {
        t = new Thread(this, "Input Thread");
        t.start();
    }

    public boolean isRunning() {
        return t.isAlive();
    }

    @Override
    public void run() {
        InputStream inputStream;
        try {
            inputStream = bTSocket.getInputStream();
            int plot = 0;
            iteration = 0;
            while (!bStop) {
                byte[] buffer = new byte[2];
                int last = 0;
                while (last < 2) {
                    last += inputStream.read(buffer, last, 2 - last);
                }

                final int sensor = byteArrayToInt(buffer);
                System.out.println(sensor);

            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    public void stop() {
        bStop = true;
    }
}
私有类ReadInput实现可运行{
私有布尔值bStop=false;
私有线程t;
公共ReadInput(){
t=新线程(该“输入线程”);
t、 start();
}
公共布尔值正在运行(){
返回t.isAlive();
}
@凌驾
公开募捐{
输入流输入流;
试一试{
inputStream=bTSocket.getInputStream();
int plot=0;
迭代=0;
而(!bStop){
字节[]缓冲区=新字节[2];
int last=0;
while(最后一个<2){
last+=inputStream.read(缓冲区,last,2-last);
}
最终int传感器=byteArrayToInt(缓冲器);
系统输出打印LN(传感器);
}
}捕获(IOE异常){
e、 printStackTrace();
}
}
公共停车场(){
bStop=true;
}
}
已经尝试了生产者/消费者模式来分离通信和绘图,但没有成功