Android - System.nanoTime()奇怪的行为?

时间:2016-06-14 01:13:00

标签: android android-6.0-marshmallow nanotime

我在这个网站上搜索了我在Android Marshmallow应用程序中看到的答案。

我的应用程序测量收到的活动检测api意图之间的持续时间。在处理意图的例程中,我使用System.nanoTime()并保持接收的值。收到下一个意图后,我会从当前System.nanoTime()中的持久存储中减去上一个System.nanoTime()时间。

我的logcat时间戳条目表示在意向活动之间发生~10秒。使用System.nanoTime计算的经过时间显示从1到预期的10秒的任何地方。

确定经过时间的所有处理都在单个对象中完成。计算的经过持续时间和当前纳秒时间的持续都在该单例中完成。

为什么值不正确的任何想法?我的应用程序正在运行,但屏幕已锁定。

    protected synchronized int distanceUpdate(Cursor dbCursor, String activity){
...
long currentNanoTime = 0;
long tmpTotDuration = 0;
...
currentNanoTime = System.nanoTime();
...
tmpTotDuration +=(currentNanoTime - lastTotalTime);

其中lastTotalTime是从持久存储加载的局部变量。 改为

ecurrentNanoTime = SystemClock.elapsedRealTimeNanos();

0 个答案:

没有答案