3

我有一个Handler链接到 UI 线程。正如预期post() Runnable的那样,我可以使用它并让它们在 UI 线程上执行。我还有一个按钮,按下时会调用finish().Activity

finish()UI Handler 的消息队列有何影响?它会处理队列中的所有消息但不再接受吗?它会直接拒绝运行任何东西并立即终止吗(我有理由相信这不是真的)。它会继续允许Runnables 发布到它,直到onDestroy()被调用?您应该假设活动堆栈只包含一个活动。

4

1 回答 1

5

您可以在您的应用程序还活着的Runnable任何时候将 s 发布到 UI 线程并且它们将被执行。刚刚完成你的活动。您的 UI 线程并不关心这一点。Handlerfinish()

但是如果你完成了你的可见活动,Android 可以杀死你的应用程序,并且在那一刻你所有的数据/可运行/线程都将被清除。

所以完成活动可能会导致停止(终止)UI线程,但通常Android会让你的应用程序工作一段时间,即使你没有可见的活动或正在运行的服务。如果您的应用程序资源匮乏,Android 会立即杀死您的应用程序。

于 2013-03-11T13:16:39.273 回答