アプリでsystem.nanoTimeを使用しており、開始時刻を基準にして時間を計算しています。
私のアプリは、新しいコンピューターにコピーするまで非常にうまく動作し、その上でナノタイムを使用すると値が遅くなります。
念のため、簡単なアプリを作成しました。
ナノ時間はシステム時間と比較されます。
私の新しいコンピュータを除いて、他のコンピュータでも同じ値を示しています。助言がありますか?
これが私のコードです:最初に私は持っています
private long initNanoTime = System.nanoTime();
private long initTime = System.currentTimeMillis();
毎秒実行されるスレッドをループするよりも:
long timeUsingNanoTime = initTime + (System.nanoTime() - initNanoTime) / 1000000;
long timeUsingMilis = System.currentTimeMillis();
long nanotimeOffset = Math.abs(timeUsingNanoTime - timeUsingMilis);
if (nanotimeOffset < 100l) ? print("close") : print(far);
編集:私はnanoを使用しています。これは、nano時間で発生するtsも処理し、受信したnano時間をログに出力する必要があるためです。