2016-06-12 86 views
2

如果我們在一個活動中啓動一個處理程序線程/線程,然後當我們按回按鈕時活動被銷燬,那麼處理程序線程會發生什麼?啓動處理程序線程並完成活動

它還處於運行狀態嗎?

如果是當線程執行會停止?

回答

0

簡單地說,你的線程處於運行狀態。

保持線程在onPause之後運行實際上是不好的做法。原因是,在onPause之後,您的應用程序可能隨時丟失內存而無法識別,因此您無法自行清理。

正確的做法是停止線程onPause並重新創建onResume。如果您需要狀態,您可以使用內置saveState方法或設置的Android或保留該狀態的任何一個。

您的相關線程是herehere

0

線程在作業完成前不會被銷燬。因此,確保在關閉活動之前完成所有工作。因爲線程可能包含任何視圖的引用,並且可能會在作業完成後嘗試訪問它。 HandlerThread可以通過調用來停止

thread.quitSafely();

這可確保在線程停止之前處理所有掛起的消息。