Chronometer 初始值错误

Wrong initial value of Chronometer

我正在基于 android.widget.Chronometer 编写一个简单的国际象棋时钟应用程序。我将它与 setCountDown(true) 标志一起使用,并且所有逻辑都运行良好。每个 Chronometer 在单独的 Fragment 中创建。但有时计时表初始值会出现一些问题。例如,我将初始值设置为 20 秒,但实际上我有这个: 在应用程序重新启动时,这种区分可能是在随机时钟上进行的。我以这种方式设置初始值,在我的 class 中,扩展 android.widget.Chronometer,并且 mTimeLimit 每次等于 20000:

private void setTimeLimit() {
    mStartTime = SystemClock.elapsedRealtime() + mTimeLimit;
    setBase(mStartTime);
}

我认为问题可能出在片段创建时间等方面。谁知道我错了什么?

我通过在初始值上增加 100 毫秒找到一个解决方案:

mStartTime = SystemClock.elapsedRealtime() + mTimeLimit + 100;

似乎它解决了一个问题,但我认为这不是一个最好的决定,也许有人知道更好的方法。