Thread.run() 中的 NetworkOnMainThreadException
NetworkOnMainThreadException in Thread.run()
我正在尝试 运行 通过一些教程中的示例应用程序。在这个应用程序中,我有
class LoadThread extends Thread {
@Override
public void run() {
InputStream in = connection.getInputStream();
...
}
}
然后我在片段中调用它:
public class MyFragment extends ListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
new LoadThread().run();
}
...
}
但是我遇到了异常
android.os.NetworkOnMainThreadException
pointing to the following line:
InputStream inputStream = connection.getInputStream();
但是为什么?.. 这条线位于 LoadThread.run()
中,不是主线程,不是吗?
要开始 Thread
,请调用 start()
,而不是 run()
。
我正在尝试 运行 通过一些教程中的示例应用程序。在这个应用程序中,我有
class LoadThread extends Thread {
@Override
public void run() {
InputStream in = connection.getInputStream();
...
}
}
然后我在片段中调用它:
public class MyFragment extends ListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
new LoadThread().run();
}
...
}
但是我遇到了异常
android.os.NetworkOnMainThreadException pointing to the following line:
InputStream inputStream = connection.getInputStream();
但是为什么?.. 这条线位于 LoadThread.run()
中,不是主线程,不是吗?
要开始 Thread
,请调用 start()
,而不是 run()
。