Ich habe einen Timer, der mit der OnCreate-Methode der Aktivität läuft, wie unten gezeigt. Wenn er ausgeführt wird, wird der Timer wie gewünscht erhöht. Angezeigt:"runOnUIThread" wird jedes Mal schrittweise ausgeführt, wenn ich zur Aktivität zurückkehre.
00:00, 00.01, 00.02 , usw.
final Timer timer = new Timer();
final TimerTask timerTask = new TimerTask(){
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String timer = sdf.format(new Date(counter * 1000L));
timerText.setText(timer);
counter++;
}
});
}};
timer.schedule(timerTask, 0, 1000);
Allerdings, wenn ich die Aktivität erneut, das Intervall erhöht den Timer. Wenn ich es das erste Mal erneut, wird das Intervall 2 dh
00:00, 00.02, 00.04 , usw.
Revisiting es wieder das Intervall 3 dh macht
00:00, 00.03, 00.06 , usw.
Und die Intervalle nehmen weiter zu. Ich deduzierte die runOnUIThread-Methode ausgeführt wird n mal, wo n ist die Anzahl der onCreate zugegriffen wurde, aber ich weiß nicht wirklich, was ich dagegen tun soll.
Entsorgen Sie den Timer in der OnDestroy-Methode. – Arijoon