Android:AlertDialog.show()是否启动了一个新线程?

时间:2011-09-10 14:12:20

标签: android alertdialog

AlertDialog.show()是否开始新线程?我没有在Android文档中看到它有任何迹象,并且想要确认。

具体来说,我想确保在UI线程上发生OnDismiss()回调。

3 个答案:

答案 0 :(得分:2)

简短:不,它不会创建新线程,是的,它会在ui线程中运行。

Long:应该在ui线程中运行,因为它修改了ui的东西,但你可以从另一个线程创建它,你将结束异常。如果你有第二个线程,你应该使用与ui线程通信的不同方法之一来完成ui线程的所有AlertDialog调用。例如runOnUiThread

答案 1 :(得分:0)

没有。 AlertDialog在当前的Activity线程上启动。你想在后台做的任何事情都需要在一个单独的线程(Thread,AsyncTask等)上完成。当解雇对话框时,你确实需要从Activity线程中调用dismiss。

答案 2 :(得分:0)

AFAIK它没有。它没有理由。但是要确保你可以检查源代码。