android:Timer.scheduleAtFixedRate(),速率是否不固定?

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();

我想让我的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中以完全固定的速率调用方法?

尝试这样调用:

t.scheduleAtFixedRate(timerTask, 0, 1000);
此外,您还必须确保postInvalidate;方法的执行时间不会超过1秒