android:Timer.scheduleAtFixedRate(),速率是否不固定?
我想让我的View类每1秒绘制一次,因此我使用了Timertask和Timer,下面是我的代码:android:Timer.scheduleAtFixedRate(),速率是否不固定?,android,android-emulator,timer,timertask,Android,Android Emulator,Timer,Timertask,我想让我的View类每1秒绘制一次,因此我使用了Timertask和Timer,下面是我的代码: private TimerTask timerTask; private Timer t = new Timer(); public void dataEmitter(){ timerTask = new TimerTask(){ @Override public void run() { postInvalidate();
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中以完全固定的速率调用方法?尝试这样调用:
t.scheduleAtFixedRate(timerTask, 0, 1000);
此外,您还必须确保postInvalidate;方法的执行时间不会超过1秒