Android倒计时神器 - CountDownTimer,供大家参考,具体内容如下 啥是CountDownTimer? CountDownTimer是Andorid.os包下一个谷歌为我们封装好的一个倒计时工具。我们吗、平时开发过程中像一些验证码、倒计时的功能,如果自己封装一个倒计时工具就会稍显麻烦
Android倒计时神器 - CountDownTimer,供大家参考,具体内容如下
构造函数: 两个参数,第一个是总的倒计时时间,第二个是倒计时间隔。比如1秒跳一次该参数就为1000,两个参数的单位都为毫秒。 start(): 调用该方法以启动计时器。 cancel(): 调用该方法以释放计时器。 重要!一定要在onDestory等回调中cancel()计时器,否则会因为页面被回收计时器还在运作而出现空指针错误! 回调方法: onTick(): 每个时间间隔会回调一次,比如设置了1000ms的间隔,就会每1000ms回调一次这个方法。 onFinish(): 在整个计时器结束之后回调。 使用中的一些坑 计时不准的问题 虽然这个工具有针对延迟做了处理,但是因为一些其他原因,导致CountDownTimer开始计时的时候极有可能不从你设定的总时长开始计时。比如你设定的millsInFuture是30000(30s),CountDownTimer其实是从29xxx开始计时的,这样会导致一些Text的UI显示快一秒。解决办法就是在构造的时候就传入一个比30000大一些的数,比如30300. 内存泄漏/空指针问题 CDT内部其实是对Handler有做一个封装,所以一定一定要在回收的时候调用Timer的cnacel()方法,否则容易出现空指针错误。 |
2022-04-23
2022-01-26
2021-11-15
2021-08-02
2019-12-15