Android 开发 · 2014/04/07 0

android.os.NetworkOnMainThreadException 的处理

当一个应用尝试在主线程里做一些网络操作的时候, 就会抛出这个异常

大概是安卓为了提高应用的响应效率作出的一个限制吧.

解决方法也很简单, 主线程不给弄, 那就用子线程呗.

其实 Android 已经封装了一个类 AsyncTask 用于做异步操作, 该类主要通过重写

doInBackground <- 后台执行操作, 不能在该方法内操作UI界面

onPostExecute <- 操作完成执行的方法

这两个方法, 完成Task调用…

PS: 一个 AsyncTask 只能调用一次 execute, 用完则无法再次调用 execute , 应该是考虑到线程安全方面的问题吧.