我想让我的View
课每1秒画一些东西,因此我使用了Timertask
和Timer
,这是我的代码:
private TimerTask timerTask;
private Timer t = new Timer();
public void dataEmitter(){
timerTask = new TimerTask(){
@Override
public void run() {
postInvalidate();
}
};
t.scheduleAtFixedRate(timerTask, 2000, 1000);
}
但后来我发现即使重复调用此方法,但它不是固定速率。有时它非常快,但有时它很慢。所以我想知道这是否只发生在模拟器上?如果没有,我如何在Android中以完全固定的费率调用方法?
答案 0 :(得分:0)
尝试这样称呼:
t.scheduleAtFixedRate(timerTask, 0, 1000);
你还必须确保postInvalidate();方法执行时间不会超过1秒。