Java 安卓-runOnUIThread什么时候开始?

Java 安卓-runOnUIThread什么时候开始?,java,android,multithreading,graphics,android-runonuithread,Java,Android,Multithreading,Graphics,Android Runonuithread,我有一个单独的线程来处理一些信息,如果在执行过程中出现问题,需要让用户知道错误,所以现在我调用runOnUIThread()来创建一个对话框并让用户知道。我的问题是什么时候会发生?runOnUIThread()中的指令是在调用时立即执行的,还是等待UI线程先完成当前正在执行的操作 我这样问是因为我将使用图形,为了定期更新屏幕,UI线程将被一个循环占用,以更新和重画屏幕,据我所知 runOnUIThread()中的指令是否在调用时立即执行 没有 还是等待UI线程先完成当前正在做的事情 在某种程度上

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

我这样问是因为我将使用图形,为了定期更新屏幕,UI线程将被一个循环占用,以更新和重画屏幕,据我所知

runOnUIThread()中的指令是否在调用时立即执行

没有

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


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

@DalvikVM:好吧,只要进程还在,线程就存在,如果这就是你的意思。如果在UI不可见的情况下调用rununuitread(),应用程序会崩溃吗?@DalvikVM:
rununuithread()
活动的一个方法。如果活动未被销毁,
runOnUiThread()
应该是安全的。如果活动已销毁,则不需要调用runOnUiThread()
。大多数情况下,在另一个线程中调用runOnUiThread()。(因为否则:有什么用?)所以当调用此方法时,您不知道活动是否已全部就绪。如何检查这个?或者您只是捕获所有异常(通常是一种不好的做法)?@DalvikVM:Call
isDestroyed()