Android - runOnUIThread 何时发生?
Android - When does runOnUIThread take place?
我有一个单独的线程来处理一些信息,如果在执行过程中出现问题,我需要让用户知道错误,所以现在我正在调用 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?
在某种程度上,甚至不是那样。主应用程序线程(a.k.a., UI 线程)有一个工作队列。 runOnUiThread()
将您的 Runnable
发布到该队列。当 Runnable
到达队列的头部时,它是 运行。因此,当 Runnable
运行 取决于该队列的大小时。
我有一个单独的线程来处理一些信息,如果在执行过程中出现问题,我需要让用户知道错误,所以现在我正在调用 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?
在某种程度上,甚至不是那样。主应用程序线程(a.k.a., UI 线程)有一个工作队列。 runOnUiThread()
将您的 Runnable
发布到该队列。当 Runnable
到达队列的头部时,它是 运行。因此,当 Runnable
运行 取决于该队列的大小时。