android countdowntimer为什么时间还没结束就已经进入finish方法
1个回答
展开全部
在使用CountDownTimer时,最好不要直接在一个方法里面直接new出一个来,而应该在类开始就要定义和声明一个变量来,再在方法里start。若在方法里要新new个出来,最好要先把之前的清理掉
if(countDownTimer!=null) {
countDownTimer.cancel();
//防止new出多个导致时间跳动加速
countDownTimer=null;
}
然后再写countDownTimer=new CountDownTimer(...)初始化的。
比如,每过一秒就要刷新一下textview,不这样写的话,当这个方法多次调用时就会出现之前new出来的没有被回收,导致仍在后台刷新textview,textview就会因为多个重复的刷新,导致要显示的数字变化加快。
if(countDownTimer!=null) {
countDownTimer.cancel();
//防止new出多个导致时间跳动加速
countDownTimer=null;
}
然后再写countDownTimer=new CountDownTimer(...)初始化的。
比如,每过一秒就要刷新一下textview,不这样写的话,当这个方法多次调用时就会出现之前new出来的没有被回收,导致仍在后台刷新textview,textview就会因为多个重复的刷新,导致要显示的数字变化加快。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询