我正在制作一个android应用程序(QR码阅读器),我需要每秒做4次动作。我决定为此使用Timer类。我发现了一个奇怪的行为:Android - Timer class
timer = new Timer();
timer.scheduleAtFixedRate(onTimer, 100, stn.GetStep());
timer.cancel();
timer = new Timer();
timer.scheduleAtFixedRate(onTimer, 100, stn.GetStep());
最后一行会引发错误 - java.lang.IllegalStateException: TimerTask is scheduled already
。这不是很奇怪吗?
我解决了它。我写了“getTimerTask()”而不是“onTimer”。 getTimerTask返回一个新的TimerTask。 –