new Thread(new Runnable(){
}).run();
对比
new AsyncTask().execute();
我的印象是它们是同一件事,都启动了一个新的工作线程,但不是这样吗?
我问的原因是因为如果我尝试使用new Thread()
我进行任何类型的网络连接NetworkOnMainThreadException
,但当我将相同的代码放在异步任务中时,我没有得到。
这种差异的另一个例子是使用google maps api v2,其中所有的绘图/显示/隐藏都必须在上面完成main thread
但是如果我new Thread()
用来隐藏/显示标记看起来很好但是如果我尝试在异步任务中显示/隐藏我得到一个异常说它需要在主线程上完成。
真的new Thread()
不启动工作线程吗??
编辑
不知道为什么关闭,因为提供的链接我已经阅读并且没有回答我的问题并且没有提到使用run()
vsstart()
确实回答了我的问题