MyException - 我的异常网
当前位置:我的异常网» 操作系统 » android.os.NetworkOnMainThreadException(android

android.os.NetworkOnMainThreadException(android版本真倒胃口)

www.MyException.Cn  网友分享于:2013-02-20  浏览:21次
android.os.NetworkOnMainThreadException(android版本真恶心)

真气人,以前写的代码,今天重新导入,出现一大堆问题,

开始是导进去报错,弄了半天是版本问题,然后百度解决了一下

http://blog.csdn.net/wang6279026/article/details/8564248

后来又说什么android.os.NetworkOnMainThreadException异常,我以为是我以前写的代码有问题呢,(话说我网络操作这一块不是很擅长)。所以就一直在查找代码的错误。结果实在是找不出来,然后百度一下,发现原来还是版本问题,整天升级,升的我都无语了。浪费了一大堆时间。

升级以后的版本不能在主线程中使用http请求,否则会报错。可能设计者已经发现主线程中阻塞可能引起较为严重的后果吧。解决办法有两个

一个就是众所周知的handler

一个就是在oncreate方法中,增加如下代码

		StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
				.detectDiskReads().detectDiskWrites().detectNetwork()
				.penaltyLog().build());
		StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
				.detectLeakedSqlLiteObjects().detectLeakedSqlLiteObjects()
				.penaltyLog().penaltyDeath().build());
然后就好了。对了,别忘了加网络权限。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有