为什么Android中的CountDown Timer使用Handler?

时间:2013-10-14 17:55:17

标签: java android countdowntimer

count down timer的GrepCode显示它使用Handler。使用处理程序有什么具体原因吗?因为当我们使用线程进行一些用户交互时通常使用处理程序。但是在这里我没有可以在Countdown Timer中看到的线程。倒数计时器也适用于自己的UI线程。

3 个答案:

答案 0 :(得分:3)

  

因为当我们使用线程进行一些用户交互时通常会使用处理程序

真。但是,“一般”!=“总是”。

恰好Handler有用于计时的有用方法,例如postDelayed()sendMessageDelayed()CountDownTimer利用了这些方法。你也可以自己使用它们。它们既漂亮又轻巧,因为正如您所注意到的,我们不需要单独的线程,就像TimerTimerTask这样的方式。

  

并且倒数计时器在自己的UI线程中使用时也可以工作。

它需要一个附加Looper的帖子才能使用HandlerCountDownTimer可能通常在主应用程序线程上使用,如果不是,则在某些单独的HandlerThread上使用。

答案 1 :(得分:1)

处理程序用于在倒数计时器的生命周期内执行某些任务。

说,你正在实施一个秒表,并且你希望UI每秒更改一次以显示倒计时,onTick()处理程序可以执行此操作。 比如说,当倒数计时器完成工作时你必须关闭UI,把代码放在onfinish()处理程序方法中。

答案 2 :(得分:1)

您不仅可以使用处理程序在线程之间进行通信。 Handler能够在定义的时间(postDelayed函数)之后执行一些代码。在Android OS中,Handler是首选工具(而不是java Timer),以便在需要时间间隔后执行某些代码。在倒计时器中,处理程序用于在一秒间隔内调整代码。