【Android】Android主线程真的不让进行耗时操作吗?

默认情况下,Android主线程(UI线程)不让进行网络请求,否则会抛出NetworkOnMainThreadException。

但是主线程还可以让程序员进行其它类型的耗时操作,比如读写磁盘数据、遍历操作一个大数组,但是如果超过5秒就会提示ANR错误。

那么如何让主线程可以访问网络,而不抛出异常呢?在我们的Activity类的onCreate方法中,设置如下规则:

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

你可能感兴趣的:(Android)