2
我有一個後臺線程的android應用程序,其中包含用於從服務器發送/接收數據的套接字連接。Android,退出/暫停應用程序,如何銷燬線程
如果我的應用程序結束(後退按鈕等)或暫停(主頁按鈕,調用其他應用程序),處理此後臺線程的最佳方式是什麼?
我看到2種方式:創建後,啓動線程
覆蓋onStop()
,onPause()
,或onDestroy()
之前,我只是想確保
呼叫
Thread.setDaemon(true)
我的應用程序不會掛起或有其他奇怪的行爲。編輯:
另外,什麼是關閉套接字的最佳解決方案?我是否也關閉它並使用inputStream?夠了嗎?
線程並不總是在背景上工作..它最終被調用,然後完成他的工作直到完成... 如果在某些工作中間發生某些事情時發生了問題,我需要清理它...因爲線程可以訪問套接字連接,所以我認爲在不結束此套接字的情況下線程不能被中斷。 雖然不知道最好的方法.. – cornelyus 2011-05-20 17:06:09
是的,如果過程完全被殺死,那麼你有點不幸。我不確定過程kill是否調用任何生命週期方法,但是在將'stopped'設置爲true後,可以在Thread對象上放置一個'join',然後用'finally'子句關閉所有套接字工作提供套接字並執行所需的其他清理工作。 – Femi 2011-05-20 17:14:08
嘿Femi ..關心發展呢?可能有些編碼,請問? – cornelyus 2011-06-15 16:57:10