【发布时间】:2012-01-27 05:58:13
【问题描述】:
我正在使用线程来完成一些任务。之后我想通过 runOnUiThread() 访问主线程。但是如何判断那个ui线程是否还在运行呢?
【问题讨论】:
-
你是说如果它在睡觉? ui 线程是应用程序启动的主线程。
-
不,我需要知道该活动是否仍在运行
-
我想如果你通过runOnUIThread访问,它会随时工作。
我正在使用线程来完成一些任务。之后我想通过 runOnUiThread() 访问主线程。但是如何判断那个ui线程是否还在运行呢?
【问题讨论】:
Two options 是否有一个使用静态布尔变量来查看活动是否正在运行,或者您可以检查所有正在运行的任务并确定您的活动是否正在运行。
【讨论】:
您的 UI 线程未运行的唯一实例是您的主线程已生成一个需要与 UI 线程通信的线程,并且在上下文的生命周期结束时非 UI 线程尚未被终止。
您必须通过interrupt()onStop() 或onDestory() 中的线程来避免这种情况。
处理完这件事后,您始终可以放心地假定调用runOnUiThread() 是合适的。
【讨论】: