Handler postDelay不精确

时间:2016-04-01 06:39:06

标签: android timer vsync

在我的应用程序中,我使用handle.postDealy(Runnable,50)来刷新我的View。但有时它非常不准确。这是90毫秒。这是日志:

onRender间隔:86

onRender间隔:90

onRender间隔:84

onRender间隔:90

如何在android中获得精确的计时器?我可以使用VSync吗?

    if( mHandler != null){

        if (System.currentTimeMillis() - interval > 60){
            Log.d(TAG, "onRender interval: " + (System.currentTimeMillis() - interval));

        }

        mRenderCallback.onRender();
        mHandler.postDelayed(this, 50);
        interval = System.currentTimeMillis();
    }

1 个答案:

答案 0 :(得分:-1)

有时Handler postDelay不能正常工作。为此你可以使用Timer类而不是CountDownTimer类只使用Timer类并在Timer类方法中设置延迟时间。