Android - 什么时候运行runOnUIThread?

时间:2015-03-25 22:04:19

标签: java android multithreading graphics android-runonuithread

我有一个单独的线程来处理一些信息,如果在执行过程中出现问题,需要让用户知道错误,所以现在我调用runOnUIThread()来创建一个Dialog并让用户知道。我的问题是什么时候会发生这种情况? runOnUIThread()中的指令是在调用后立即发生的,还是等待UI线程完成它当前正在执行的操作?

我问,因为我将使用图形,为了定期更新屏幕,UI线程将被循环占用,以便我知道更新和重绘屏幕。

1 个答案:

答案 0 :(得分:6)

  

runOnUIThread()中的指令一旦被调用就会发生

没有

  

还是等待UI线程完成它当前正在做的事情?

在某种程度上,甚至没有。主应用程序线程(a.k.a.,UI线程)具有工作队列。 runOnUiThread()将您的Runnable发布到该队列。当Runnable到达队列的头部时,它就会运行。因此,Runnable运行时取决于该队列的大小。