一個問題,也許有點天真......CountDownTimer在Activity destroy()上自動取消嗎?
如果我在Activity onCreate()中啓動一個2分鐘的CountDownTimer,並在用戶單擊按鈕時用finish()關閉它,Android會自動取消它嗎?
或者我需要顯式調用onDestroy()中的cancel()嗎?
一個問題,也許有點天真......CountDownTimer在Activity destroy()上自動取消嗎?
如果我在Activity onCreate()中啓動一個2分鐘的CountDownTimer,並在用戶單擊按鈕時用finish()關閉它,Android會自動取消它嗎?
或者我需要顯式調用onDestroy()中的cancel()嗎?
您必須在Ondestroy
中明確呼叫cancel
。但更好的做法是致電 Onpause
。
因爲如果你已經暫停了你的活動,並且你更新了倒數計時器的OnFinish
裏面的任何UI元素,它可能會拋出錯誤。
一個很好的建議!但我需要在onResume()中重新啓動它。 –
實際上onDestroy()更好,更直接。即使在onPause()期間調用onFinish(),CountDownTimer也不會拋出任何錯誤。我嘗試過這個。 –
你有沒有試過它?只需在'onFinish()'中放入一個Log.d(...)並查看它是否被記錄。 – Ridcully
剛剛嘗試過。即使在Activity.finish()之後,onFinish()似乎仍然存在。 –