6

写作时:

 CountDownTimer timer = new CountDownTimer(1000, 100) 
 {
      @Override
       public void onTick(long l) 
       {

       }

       @Override
       public void onFinish() 
       {

       };
 }.start();

我们实际上是在启动一个处理滴答声的新线程吗?如果不是,那么到底发生了什么?

4

2 回答 2

11

CountDownTimer实现使用Handlerand sendMessageDelayed(),因此不需要后台线程。这确实意味着如果您在代码中的其他地方绑定主应用程序线程,则计时器不会更新。

于 2010-04-22T14:07:49.210 回答
2

来自多个出版物的定义,经过尝试和测试:

“内置类 CountDownTimer提供了另一个计时器。它封装了后台线程的创建和处理程序排队到一个方便的类调用中......”

于 2011-08-23T13:09:36.793 回答