2012-12-31 49 views
1

我正在使用處理程序postDelayed將活動移到後臺。Handler post onPause後延遲

如果活動去處理激發回調之前暫停模式,會發生什麼?它會發生什麼?它被移除或在簡歷後倒計時?

例如當爲5秒回調火,如果活動去的簡歷後暫停,它得到5秒鐘後,解僱了嗎?

+0

是不是更容易編寫測試用例,並找到自己,是不是比張貼導納到你懶得做了一點研究的世界? – mah

+0

@mah這不僅僅是一個小測試,還有很多可能發生的情況。我想知道專家的機制。 – Ali

+0

除非問題比您發佈的問題複雜得多,否則不應該用十幾行代碼來編寫測試,並使用一個表示敬酒的處理程序。如果你再想一想,我相信你可以想出一個簡單的測試。 – mah

回答

1

您應該取消所有待處理程序回調在onPause()

我正在使用處理程序postDelayed將活動移到後臺。

這是沒有意義的,以暫停已經暫停的任何活動。它甚至會被操作系統破壞,所以你不能依賴於處理程序是否執行它的回調。

你可以使用任何的處理程序的remove___()方法,如removeCallbacks(Runnable)