2010-04-22 4 views
6

Beim Schreiben:Android CountDownTimer

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

     } 

     @Override 
     public void onFinish() 
     { 

     }; 
}.start(); 

sind wir tatsächlich einen neuen Thread beginnen, die Zecken behandelt? Wenn nicht, was passiert wirklich?

Antwort

11

CountDownTimerimplementation verwendet Handler und sendMessageDelayed(), so dass kein Hintergrund Thread benötigt wird. Dies bedeutet, dass der Timer nicht aktualisiert wird, wenn Sie den Hauptanwendungsthread an anderer Stelle in Ihrem Code binden.

1

Definition zahlreicher Publikationen, bewährten:

„Ein weiterer Timer wird mit dem CountDownTimer Klasse-eingebauten vorgesehen .Dieses kapselt die Schaffung eines Hintergrund-Thread und dem Handler in eine bequeme Klasse Warteschleifen. .. "

+1

Es wurde kein Hintergrundthread erstellt, siehe [Implementierung] (http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3. 4_r1/android/os/CountDownTimer.java). –