我剛剛測試了一個幾乎爲空的安卓項目。守護線程在關閉應用程序後仍然活着
我在主要活動中創建了一個守護進程線程。
啓動應用程序,並按下手機上的後退按鈕關閉應用程序。
但守護線程永遠不會死亡。
守護線程可以很好地運行在空的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