首先不停的从服务器读数据,我初始化了一个4096的byte数组存放数据:
byte[] bufferBytes = new byte[4096];
int len = mIn.read(bufferBytes);
然后又将数据打包成四份,逐个写入到手机串口里面,经常就会出现卡顿的现象。
这个问题折腾了好久,代码是检查一边又一边,就是找不到问题,后来将读取到的数据(即bufferBytes数组),做了一下切割处理,就是将byte数组没有数据的那部分去掉就没问题了,不再出现卡顿的现象了,主要原因可能数据太频繁了,可能每次读到的数据只有几十分个字节,却用了4096的数组去存放,就将数据增加了好多倍:
byte[] result = new byte[len];
System.arraycopy(array, 0, result, 0, len);