【Android】Android 出现NetworkOnMainThreadException

xiaoxiao2021-02-28  102

今天调试socket的时候突然间出现这个问题

其实这个问题在表面就知道什么意思

英文翻译就是 在主线程 网络程序出现异常,其实就是在主线程中 用在这种网络连接的 时间过长在Android 4.0之后就是不让在主线程中进行相应的网络操作 所以解决方案就是 建立个 子线程进行相应的操作即可

这里介绍一种子线程也是我最喜欢用的一种

// 子线程 thread = new Thread(new Runnable() { @Override public void run() { while(true) { Thread.sleep(1000);// 延迟一秒 } } }); thread.start(); // 线程开始跑

将socket的代码放到这里面即可

之后我发现这个规律之后依然还是 显示这个错误NetworkOnMainThreadException

之后我一直调试发现 是 socket没有创建成功与服务器的连接 导致new socket那句代码 停滞,导致很长时间 线程停在那里, 导致这个线程没有 停止,下一个线程又开始了,导致出错

确保 socket 肯定连上之后,一切正常。

转载请注明原文地址: https://www.6miu.com/read-62698.html

最新回复(0)