私が次のものを持っているとしましょう(参照ページ):
public class TimerExample implements EntryPoint, ClickHandler {
public void onModuleLoad() {
Button b = new Button("Click and wait 5 seconds");
b.addClickHandler(this);
RootPanel.get().add(b);
}
public void onClick(ClickEvent event) {
// Create a new timer that calls Window.alert().
Timer t = new Timer() {
@Override
public void run() {
Window.alert("Nifty, eh?");
}
};
// Schedule the timer to run once in 5 seconds.
t.schedule(5000);
}
}
メソッドが終了した後もタイマーが残っているのonClick
はなぜですか? 自動ローカル変数をガベージ コレクションする必要はありませんか?
これは、HTML タイマーについて話しているため、オブジェクトが自動ローカル変数の外に存在するという事実と関係がありますか?