Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在finish()之后,Runnables将在多长时间内发布到活动';s处理程序是否继续执行?_Android_Android Activity_Android Handler - Fatal编程技术网

Android 在finish()之后,Runnables将在多长时间内发布到活动';s处理程序是否继续执行?

Android 在finish()之后,Runnables将在多长时间内发布到活动';s处理程序是否继续执行?,android,android-activity,android-handler,Android,Android Activity,Android Handler,我有一个处理程序,它链接到UI线程。正如预期的那样,我可以post()Runnables到它,并让它们在UI线程上执行。我还有一个按钮,按下该按钮将调用活动上的finish() finish()如何影响UI处理程序的消息队列?它是否会处理队列中的所有消息,但不再接受更多消息?它会直接拒绝运行任何东西并立即终止(我有理由相信这不是真的)。在调用onDestroy()之前,它是否会继续允许向其发布Runnables?您应该假设活动堆栈只包含一个活动。您可以在应用程序仍处于活动状态且将被执行时,通过任

我有一个
处理程序
,它链接到UI线程。正如预期的那样,我可以
post()
Runnable
s到它,并让它们在UI线程上执行。我还有一个按钮,按下该按钮将调用
活动
上的
finish()


finish()
如何影响UI处理程序的消息队列?它是否会处理队列中的所有消息,但不再接受更多消息?它会直接拒绝运行任何东西并立即终止(我有理由相信这不是真的)。在调用
onDestroy()
之前,它是否会继续允许向其发布
Runnable
s?您应该假设活动堆栈只包含一个活动。

您可以在应用程序仍处于活动状态且将被执行时,通过任何
处理程序将
可运行的
发布到UI线程
finish()
刚刚完成您的活动。你的UI线程不关心这个

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


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

谢谢,我不知道即使在后台,发布到UI线程的可运行程序也会继续被处理。。方法有时可以帮助你