android.os.NetworkOnMainThreadException异常

来源:互联网 发布:iphone虚拟机型软件 编辑:程序博客网 时间:2024/06/16 04:59

在Android4.0以上,不能再主线程中访问网络,否则就会出现android.os.NetworkOnMainThreadException异常。

会有这种要求的主要原因是网络状态不可预测,主线程如果直接访问网络,很可能出现阻塞,造成假死的状态。面对这个异常,可以用两种方案来解决。

其一:

在onCreate方法中增加下面两条语句,强制在主线程中访问网络:

StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(policy);
这种方法并没有解决上面说的问题,可能造成不好的用户体验,不推荐使用。


其二

新开一个线程,在其中访问网络。

0 0
原创粉丝点击