gpt4 book ai didi

java - Android:深度 sleep 的时间间隔(System.nanoTime(), System.currentTimeMillis(), SystemClock.elapsedRealtimeNanos())

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:06 37 4
gpt4 key购买 nike

我正在实现一个最低 API 级别 14(这很重要)并且需要一致的间隔测量的应用程序。不需要 ms 精度,它只需要始终计算时间(经过的秒数)。

到目前为止,要处理时间间隔,我知道这些解决方案:

  1. System.nanoTime() - 如果 Android 正在运行,效果很好,但在深度 sleep 时停止(这很糟糕)。
  2. System.currentTimeMillis() - 很好,但不合适,因为它可以由用户或使用 setCurrentTimeMillis(long) 的代码更改。
  3. SystemClock.elapsedRealtimeNanos() - 即使在深度 sleep 时也计算耗时,但需要 API 级别 17。

是否有另一种方法可以在 API 14 上获得合理的秒精度间隔测量?
我考虑过使用 System.currentTimeMillis() 来监听广播 Intent ,看看系统时钟是否发生了变化。然而,这似乎不是最好的解决方案。

最佳答案

你试过了吗 SystemClock.elapsedRealtime()

关于java - Android:深度 sleep 的时间间隔(System.nanoTime(), System.currentTimeMillis(), SystemClock.elapsedRealtimeNanos()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26266441/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com