我的部分代码如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final NetDataHandler handler = new NetDataHandler();
marketList = (ListView)findViewById(R.id.list);
marketList.setAdapter(adapter);
new Thread(new Runnable() {
@Override
public void run() {
HTTPUtils.getJsonData(HTTPUtils.TARGET_URL, handler);
}
}).run();
这些代码只会在我关闭严格模式时运行。我已经阅读了关于使用 AsyncTask 来避免这种情况的文档。它说我不应该在 < strong>main thread,但我想我创建了一个新线程。 我的问题是,与 main thread 相比,这个 new Thread() 不是一个不同的线程吗?
最佳答案
您需要使用 .start()
而不是 .run()
关于java - 为什么在 onCreate() 中创建一个新的 Thread 来做 I/O 仍然会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564070/