HarmonyOS 蓝牙发送大数据导致主线程卡死
在进行蓝牙发送数据时,调用socket.sppWrite时,会卡死
async writeData(clientNumber: number, data: Uint8Array) {
  console.info(`writeData is 向客户端写入数据}`)
  // 向客户端写入数据
  if (this.currentDevice != null && this.currentDevice.isTcpConnected) {
    ConnectTcpClient.get().send(data, (callback => {
    }))
  } else {
    console.info(`socket is sppWrite}`)
    socket.sppWrite(clientNumber, data.buffer);
  }
  let dataStr = ''
  if (data != null) {
    for (const b of data) {
      let str = b.toString(16);
      if (str != null && str.length == 1) {
        str = 0 + str; // 补0
      }
      dataStr += str
    }
  }
  console.info('发送 success data = ' + dataStr);
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS 主线程处理大数据导致卡死 
1865浏览  • 1回复 待解决
HarmonyOS 大量数据处理导致主线程阻塞问题 
1076浏览  • 1回复 待解决
宿主线程如何接收子线程发送的消息? 
1491浏览  • 1回复 待解决
宿主线程如何向worker子线程发送消息? 
1435浏览  • 1回复 待解决
大数据:如何模拟2000万辆车并发发送数据 
3037浏览  • 1回复 待解决
在Worker线程中频繁操作数据库导致主线程卡顿,如何优化线程间通信? 
698浏览  • 1回复 待解决
HarmonyOS BLE蓝牙发送数据量大的问题 
1784浏览  • 1回复 待解决
HarmonyOS 实现蓝牙连接打印机发送数据 
2738浏览  • 1回复 待解决
关系型数据库使用restore方法恢复数据库文件时,app主线程卡死怎么回事啊? 
1738浏览  • 1回复 待解决
Worker的宿主线程必须是主线程吗? 
1467浏览  • 1回复 待解决
HarmonyOS主线程子线程切换问题 
2102浏览  • 1回复 待解决
HarmonyOS 主线程刷新UI 
1616浏览  • 1回复 待解决
HarmonyOS中UI必须在主线程渲染吗? 如何判断当前线程是否为主线程? 
3343浏览  • 1回复 待解决
在ArkTS的主线程中使用await会堵塞主线程吗 
3386浏览  • 1回复 待解决
HarmonyOS  worker线程和主线程支持内存共享 
1685浏览  • 1回复 待解决
HarmonyOS  ArkTS怎么控制子线程回到主线程 
2228浏览  • 1回复 待解决
HarmonyOS native如何获取主线程 
910浏览  • 1回复 待解决
HarmonyOS 其他线程切换到主线程的api 
1566浏览  • 1回复 待解决
TaskPool子线程和主线程如何通信 
3716浏览  • 1回复 待解决
HarmonyOS Worker主线程和子线程共享对象问题 
1358浏览  • 1回复 待解决
HarmonyOS Worker 与主线程通信问题 
1307浏览  • 1回复 待解决
HarmonyOS 数据存储中关于大数据存储问题 
1589浏览  • 1回复 待解决
怎样判断当前线程是否是主线程? 
1791浏览  • 1回复 待解决
如何判断当前线程是否是主线程 
3557浏览  • 1回复 待解决





















根据日志所示,接口调用时间过长,超过6s没响应,页面直接freeze了。
可考虑使用系统自带的TaskPool多线程能力,将耗时任务交由子线程执行,避免主线程的长时间阻塞