java - Android - runOnUIThread 什么时候发生?

标签 java android multithreading graphics android-runonuithread

我有一个单独的线程来处理一些信息,并且如果在执行过程中出现问题,需要让用户知道错误,所以现在我正在调用 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/

相关文章:

android - 如何从android中的应用程序将数据写入USB内存棒(Pendrive)

android - 根据手机自动更换UI

java - 是否可以通过中间人攻击将代码注入(inject)通过网络传输的 Java 对象?

java - 上一页 URL JSF

java - IN 子句中的多个列 Apache Derby

Android 自定义图像按钮

.net - 基于消息的多线程或线程池用于简短且不常见的操作?

Android 主线程 - 是否与其他应用程序共享

multithreading - “并发”与 'Parallelism' -- 'Threads' 与 'Processes'

java - 无效 key 异常 :Ilegal key size