读书人

android.os.NetworkOnMainThreadExcep

发布时间: 2013-02-19 11:11:40 作者: rapoo

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());
然后就好了。对了,别忘了加网络权限。

读书人网 >操作系统

热点推荐