sto cercando di capire il codice here, in particolare la classe anonimanew Runnable() ma nessun nuovo thread?
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
final long start = mStartTime;
long millis = SystemClock.uptimeMillis() - start;
int seconds = (int) (millis/1000);
int minutes = seconds/60;
seconds = seconds % 60;
if (seconds < 10) {
mTimeLabel.setText("" + minutes + ":0" + seconds);
} else {
mTimeLabel.setText("" + minutes + ":" + seconds);
}
mHandler.postAtTime(this,
start + (((minutes * 60) + seconds + 1) * 1000));
}
};
L'articolo dice
The Handler esegue il codice di aggiornamento come una parte del tuo thread principale, evitando il sovraccarico di una seconda discussione ..
Non dovrebbe creare una nuova classe Runnable creare un nuovo secondo thread? Qual è lo scopo della classe Runnable qui oltre a essere in grado di passare una classe Runnable a postAtTime?
Grazie
No. Runnables non sono 'Thread's. http://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html –