2010-04-22 22 views
6

Pisząc:Android CountDownTimer

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

     } 

     @Override 
     public void onFinish() 
     { 

     }; 
}.start(); 

są rzeczywiście rozpoczęciem nowego wątku, który obsługuje kleszczy? Jeśli nie, to co się naprawdę dzieje?

Odpowiedz

11

CountDownTimer 's implementation używa Handler i sendMessageDelayed(), więc nie jest wymagany wątek tła. Oznacza to, że licznik czasu nie zaktualizuje się, jeśli łączysz główny wątek aplikacji w innym miejscu kodu.

1

Definicja z wielu publikacji, wypróbowanych:

„Kolejny zegar jest wyposażony w wbudowanej klasy CountDownTimer .To obudowuje utworzenie wątku tła i obsługi kolejek do wygodnego połączenia klasy. .. "

+1

Nie ma utworzonego wątku tła, spójrz na [implementację] (http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3. 4_r1/android/os/CountDownTimer.java). –