为了账号安全,请及时绑定邮箱和手机立即绑定

NetworkOnMainThreadException

NetworkOnMainThreadException

眼眸繁星 2019-05-29 17:32:48
NetworkOnMainThreadException我刚刚在官方文档中发现了NetworkOnMainThreadException并想知道模拟器是否抛出这个。我一直在测试我的应用程序,据我所知,所有网络都是主线程(使用Roboguice RoboAsyncTask),但你永远不知道是否有人没有逃脱。我也在使用StrictMode并且没有看到任何东西。我的代码是干净的还是不会在模拟器上抛出?我们应该如何为生产中的这种情况做好准备?宽限期或其他什么?或者现在已经过去了;-) ??
查看完整描述

4 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

使用蜂窝网络时,您无法在其主线程上执行网络操作,如文档所述。因此,您必须使用handler或asynctask。没有其他方法可以做到这一点。



查看完整回答
反对 回复 2019-05-29
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

我已经测试了这个,它实际上也发生在模拟器上。如果您计划将其应用到3.0平板电脑以上,请确保至少在模拟器上测试您的应用。


查看完整回答
反对 回复 2019-05-29
?
墨色风雨

TA贡献1853条经验 获得超6个赞

NetworkOnMainThreadException在main方法中执行某些网络操作时发生; 我的意思Oncreate()。您可以使用它AsyncTask来解决此问题。或者你可以使用

StrictMode.ThreadPolicy mypolicy = new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(policy);

内部onCreate()方法。


查看完整回答
反对 回复 2019-05-29
?
哔哔one

TA贡献1854条经验 获得超8个赞

如果你在3.0上运行,我无能为力; 因为Strict模式默认打开; 但它高于一点,那么这可能会有所帮助

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(policy);

在创建HTTP连接之前包括此内容; 然后它工作


查看完整回答
反对 回复 2019-05-29
  • 4 回答
  • 0 关注
  • 778 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信