小编Dev*_*hen的帖子

Android 蓝牙提高速度性能

我正在尝试提高 Android 蓝牙的传输速度。我尝试使用蓝牙 API 的 RFComm 套接字将 2.7MB 缓冲区从一个安卓设备传输到另一个安卓设备(见下面的代码)。大约需要 70 秒才能完成。我将此方法与通过手机附带的蓝牙功能的“共享”进行了比较。“共享”功能提供了非常好的性能(传输 2.7MB 文件约 15 秒)。

“共享”功能与使用蓝牙 API 有何不同?如何复制“共享”方法以获得优化的传输速度?

谢谢,

蓝牙API测试代码:

服务器端 - 安装在一台安卓设备上

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mServerSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord("DeviceName", MY_UUID);
socket = mServerSocket.accept();
mInStream = socket.getInputStream();
int totalByte = 1;
while (totalByte < 2718720) 
{
    int bytesAvailable = mInStream.available();
    if (bytesAvailable > 0) {
        totalByte += bytesAvailable;
        byte[] buffer = new byte[bytesAvailable];
        mInStream.read(buffer);
    }
}
Run Code Online (Sandbox Code Playgroud)

客户端 - 安装在其他安卓设备上

mClientSocket = device.createInsecureRfcommSocketToServiceRecord(
                MY_UUID);
mClientSocket.connect();
mOutStream = mClientSocket.getOutputStream();
byte byteValue = …
Run Code Online (Sandbox Code Playgroud)

performance android bluetooth android-bluetooth

5
推荐指数
0
解决办法
1552
查看次数