android – 在finish()之后多久将Runnables发布到Activity的Handler继续执行?
作者:互联网
我有一个Handler链接到UI线程.正如所料,我可以将Run()运行到它并让它们在UI线程上执行.我还有一个按钮,按下该按钮将调用Activity上的finish().
finish()如何影响UI处理程序的消息队列?它会处理队列中的所有消息但不再接受吗?它会直言不讳地拒绝运行并立即终止(我有理由相信这不是真的).是否会继续允许Runnables发布到它,直到调用onDestroy()?您应该假设活动堆栈只包含一个活动.
解决方法:
您可以通过任何处理程序将Runnables发布到UI线程,同时您的应用程序仍处于活动状态,并且它们将被执行.完成()只是完成你的活动.您的UI线程并不关心这一点.
但是如果你完成了可见的活动,Android就可以杀死你的应用程序,那时你的所有数据/ runnables / threads都将被清除掉.
因此,整理活动可以导致停止(终止)UI线程,但通常Android会使您的应用程序保持一段时间,即使您没有可见的活动或正在运行的服务.如果资源匮乏,Android会立即终止您的应用.
标签:android-handler,android,android-activity 来源: https://codeday.me/bug/20190901/1781083.html