我刚刚测试了一个几乎为空的安卓项目。守护线程在关闭应用程序后仍然活着
我在主要活动中创建了一个守护进程线程。
启动应用程序,并按下手机上的后退按钮关闭应用程序。
但守护线程永远不会死亡。
守护线程可以很好地运行在空的JAVA PROJECT。
但与android,不起作用。
我搜索了几个小时的解决方案,但只有这个。
守护线程只有在非守护线程 运行时才会运行。当最后一个非守护线程结束时,运行时将退出。 这通常与使用UI的应用程序无关。
有谁知道如何解决这个问题?
PS。 我停止了应用程序不是通过按下硬件后退按钮,而是通过按'应用程序信息'中的'强制停止'按钮,并且应用程序和线程都不见了!
我第一次从android开发的一些示例代码中了解到守护线程。
但没有人提到我所经历的。
Android开发人员是否相信守护进程线程会被杀死?
谢谢您的回复CommonsWare!但我不了解你。首先,我不知道'cancel()'是什么。我只知道stop()和interrupt()方法。其次,我正在测试一个空的项目,所以我认为按下后退按钮可以停止所有的线程,我不需要编写任何线程。第三,我计划使用守护线程,因为我认为我不需要代码来停止特定的线程。如果我必须取消该线程,那么对我使用守护进程没有任何好处。 – Jenix
@Jenix:我对方法名称表示歉意。我正在考虑'AsyncTask',它使用'cancel()'。 “我认为按下后退按钮可以停止所有线程,我不需要为线程编码” - 不。导航(BACK,HOME等)对线程没有直接影响。它们可能会影响进程的生命周期,但如果要在活动被破坏时停止后台线程,则需要自己处理。 “如果我必须取消线程,那么对我使用守护进程没有好处” - 同意。 – CommonsWare
@Jenix:“在'App info'中点击'Force stop'按钮,应用程序和线程都不见了!” - 这是因为“强制停止”会终止您的过程。 “Android开发者是否认为守护进程线程会被杀死?” - Android开发人员不使用守护线程。我们需要比我们更好地控制我们的线程寿命。 – CommonsWare