【问题标题】:Basic time elapse coding on androidandroid上的基本时间流逝编码
【发布时间】:2016-12-06 14:47:32
【问题描述】:

我想以秒为单位计算活动开始后的时间,我应该使用什么样的库或函数? 我能做到的最少编码是多少?

【问题讨论】:

  • 在开始和结束时使用System.currentTimeMillis();
  • 如果我只想要几秒钟呢?
  • 这是以毫秒为单位的当前时间,如果我希望时间继续计数,直到我希望它停止
  • 你想要像1 2 3 4 5 6 ...这样的输出吗?
  • 是的。我想准确每一秒

标签: java arrays list time integer


【解决方案1】:

你可以这样做:

int cnt = 1;
while(condition)
{
    //print cnt
    Thread.sleep(1000); // wait 1 second
    cnt++;
   //...
}

但是你必须小心,你在 do-while 循环中添加的每个命令也需要时间。

另一个机会是使用Timer。我没有这方面的经验,但这可能会对你有所帮助:Print “hello world” every X seconds

【讨论】:

  • 这只是计算迭代次数。睡1秒有什么意义?您无法测量经过的时间,只需将每次迭代持续时间延长 1000 毫秒...
  • 抱歉,你不能很好地编辑这个答案,sleep 只会阻止它完成它的工作,你仍然不知道持续时间,如果一个迭代需要 10 秒呢?您测量增量时间,例如:afterTime - beforeTime。
  • @eldo 如果您在此方法中使用多线程,那还不错。 OP没有添加很多细节,所以我只是提出了一个建议
  • 我看到没有任何细节,但 op 想要测量时间。你的方法计算了它睡了多少次1秒,这与实际经过的时间无关。
  • @eldo 为此,我建议 OP 可以在方法的开头和结尾使用System.currentTimeMillis();。但是对于每秒的输出,我会从我的答案中建议方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-07
  • 2022-01-03
  • 1970-01-01
相关资源
最近更新 更多