任何人都可以告訴我,如果這是一件安全的事情嗎?我運行一個倒數計時器(CountDownTimer),當計時器達到零時,它必須重新開始計數,例如計算一個較長的時間。要做到這一點,我打電話Android CountDownTimer範圍
timer = new TableCount(nextTime * 1000, 100);
在onFinish()方法。
它運行沒有問題,但我擔心它可能會導致內存泄漏。我是否應該讓計時器發出某種通知,告知它已完成?以下是活動代碼的重要位:
public class TableActivity extends Activity {
TableCount timer; // the count down timer
protected int nextTime;
...
// somewhere I call this - user clicked the "start" button
timer = new TableCount(nextTime * 1000, 100);
nextTime += 100; // for example
...
public class TableCount extends CountDownTimer
{
public void onFinish() {
... // check if number of iterations has been reached, else:
// start counting down from the next value
timer = new TableCount(nextTime * 1000, 100);
nextTime += 100; // for example
}
}
謝謝 - 我做8次迭代的最大值,所以我認爲,內存使用是安全的。順便說一下,CountDownTimer似乎沒有schedule()方法 - 似乎並不是太容易重置countdowntimer – mogoman
對不起,我在想Timer,而不是CountdownTimer。在那種情況下,你在做什麼很好。實際上,你甚至沒有添加到使用的內存中。我關於循環的一點是,如果你不知道如何保持定時器的前一個實例,那麼它只會使用增加的內存,而你並沒有這樣做。 – Simon