欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 关于“NetworkOnMainThreadException”问题的原因分析及解决办法

程序员文章站 2024-02-16 12:52:04
网络收集的原因如下,以及解决办法: 我补充总结一下: 解决办法一: 在操作网络类(socket连接)的activity的protected void oncr...

网络收集的原因如下,以及解决办法:

Android 关于“NetworkOnMainThreadException”问题的原因分析及解决办法

我补充总结一下:

解决办法一:

在操作网络类(socket连接)的activity的protected void oncreate(bundle savedinstancestate)函数后面加上下面的代码。在super.oncreate(savedinstancestate);前面加。

strictmode.setthreadpolicy(new strictmode.threadpolicy.builder()
.detectdiskreads().detectdiskwrites().detectnetwork()
.penaltylog().build());
strictmode.setvmpolicy(new strictmode.vmpolicy.builder()
.detectleakedsqlliteobjects().detectleakedclosableobjects()
.penaltylog().penaltydeath().build()); 

这个方法不推荐。但也是解决办法之一。

解决办法二:

开启一个新的线程。就是上面图中办法。

new thread(){ 
@override 
public void run() 
{ 
//网络操作连接的代码
mclientmanage.connect();
} 
}.start();