CountDownTimer在Activity销毁时会自动取消吗?

8

一个问题,可能有点幼稚...

如果我在Activity onCreate()中启动了一个2分钟的CountDownTimer,并在用户单击按钮时使用finish()关闭它,Android会自动取消它吗?

还是我需要在onDestroy()中显式调用cancel()来取消它?


你试过吗?只需在“onFinish()”中放置Log.d(...),看看是否已记录。 - Ridcully
1
刚试了一下,onFinish() 在 Activity.finish() 后似乎仍然有效。 - Seraphim's
1个回答

4

你需要在Ondestroy中显式调用cancel方法。但更好的做法是在Onpause中调用cancel
因为如果你暂停了活动,并在倒计时计时器的OnFinish中更新任何UI元素,可能会出现错误。


实际上,onDestroy() 是更好和直接的方法。即使在 onPause()期间调用 onFinish(),CountDownTimer也不会抛出任何错误。我试过了。 - Hussein El Feky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接