我有一个单独的线程来处理一些信息,并且如果在执行过程中出现问题,需要让用户知道错误,所以现在我正在调用 runOnUIThread() 以创建一个对话框并让用户知道。我的问题是具体什么时候会发生? runOnUIThread() 中的指令是在调用时立即执行,还是等待 UI 线程先完成当前正在执行的操作?
我这么问是因为我将使用图形,并且为了定期更新屏幕,据我所知,UI 线程将被一个循环占用来更新和重绘屏幕。
最佳答案
Do the instructions in runOnUIThread() happen as soon as it's called
没有。
or does it wait for the UI thread to finish what it's currently doing first?
在某种程度上,甚至不是这样。主应用程序线程(也称为 UI 线程)有一个工作队列。 runOnUiThread()
将您的 Runnable
发布到该队列。当Runnable
到达队列的头部时,它就会运行。因此,Runnable
运行的时间取决于该队列的大小。
关于java - Android - runOnUIThread 什么时候发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267424/