有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java循环正好一秒钟

我正在尝试创建一个Android应用程序,它可以每秒记录跑步者的位置。然而,我发现当它完成的时候需要一秒钟多一点的时间

这是我的密码:

Runnable run = new Runnable() {
    @Override
    public void run() {
        Long start = SystemClock.elapsedRealtime();
        if (getIfRunning() == true) {
            try {
                if (location2 != null) {
                    Float distanceFromLast = totalDistance(location2);
                    addToDistance(distanceFromLast);
                }
                getCoords();
                mMap.clear();
                markOldCoords();
                writeCoords();
                setCount();
                updateScreen();
            } catch (Exception e) {
            }
        }
        Long time = SystemClock.elapsedRealtime() - start;
        handler.postDelayed(this, 1000 - time);
    }
};
handler.post(run);

共 (1) 个答案

  1. # 1 楼答案

    一般来说,你不可能得到这样的准确时间。由于系统当时正在做的其他事情,计时器总是会稍微早起或晚起。你能做的最好的事情就是接受它永远不会完美,并相应地更新你的代码,以找出你实际被触发的时间