android 制作倒计时遇到的问题小结

android 倒计时 小结:

android倒计时常用几种方法如下:

1、自定义倒计时控件

2、android系统控件countDownTimer

3、Timer和Handler共同操作完成

4、直接使用Handler操作

在使用前两种方法过程中,我是利用TimerAdapter显示很多倒计时TextView。首先出现的问题是倒计时不跳变,发现有2个原因,第一没有刷新listview,第二在oncreate方法中多调用了initDate()方法,这样数据一直是旧数据。解决完这个问题后,又面临一个新的问题,第一个倒计时TextView跳变秒数不对。

直到我将holer.tvTimer取值放在if(holer == null){...}里才解决这个问题。简单分析,估计是view从缓存中取时,其值已经由线程发生改变,然而在if(holer == null){...}外又改变了一次,所以秒数发生改变(假如不再if(holer == null){...}外头从新取值,对于很多情况,listview中显示的以前的值)。

解决完秒数跳变不正确显示以后,当显示倒计时个数增加后,又发现一个新的问题。有几个倒计时秒数跳变延迟。发现是由于每一个倒计时新new了一个定时器。这不仅增加系统开销,一旦数量变多时,跳变秒数显示效果不正确,严重的话甚至导致系统蹦了的情况。

最终利用第4种方法解决了上述问题。

 


以上是写给自己看的,请大家多多指教

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值