0

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

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

4

1 回答 1

7

调用 runOnUIThread() 中的指令是否立即发生

不。

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

在某种程度上,甚至不是那样。主应用程序线程(又名 UI 线程)有一个工作队列。runOnUiThread()将您的帖子发布Runnable到该队列。当Runnable到达队列的头部时,它就会运行。因此,何时Runnable运行取决于该队列的大小。

于 2015-03-25T22:06:39.323 回答