gpt4 book ai didi

Android线程池在后台状态后没有执行就建立了runnables

转载 作者:行者123 更新时间:2023-11-29 02:14:57 33 4
gpt4 key购买 nike

我的应用程序有一个创建 3 个并发线程的线程池。当我调用可运行对象时,它们会添加到我的线程池中。

我的问题发生在应用程序进入后台一段时间时。最终,我的线程停止执行池中的可运行对象,并且池继续增长。即使我将我的应用程序带回前台,我的线程也不会再次开始运行。

我的理论是,当我的应用程序进入后台时,我的线程就会被杀死。我不确定是什么,我也不确定确定我的线程是否被杀死以便我可以重新启动它们的好方法。

对于我可以寻找的东西来确定线程是否已被杀死,您有什么建议吗?

最佳答案

您不能使用线程池在后台执行代码,因为 Android Activity 生命周期不会认为您的应用处于 Activity 状态,并且最终会在您失去 UI 焦点后终止您的进程(包括所有线程)。你想要的是 Android Service它具有不同的生命周期。为了做这样的事情,我们使用一个带有 Handler 和 HandlerThread 的本地服务,我们可以将 Runnables 发布到其中。你可能想要类似的东西。

注意:每次我这样做时,我都觉得一定有更简单的方法,所以如果有人简化了这个模式,可能值得搜索一下。

关于Android线程池在后台状态后没有执行就建立了runnables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4796167/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com