繁体   English   中英

Android:深度睡眠的时间间隔(System.nanoTime(),System.currentTimeMillis(),SystemClock.elapsedRealtimeNanos())

[英]Android: time intervals with deep sleep (System.nanoTime(), System.currentTimeMillis(), SystemClock.elapsedRealtimeNanos())

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

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

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

还有另一种方法可以在API 14上获得合理的二次精度间隔测量吗?
我想过使用System.currentTimeMillis()监听广播意图来查看系统时钟是否已经改变。 然而,这似乎不是最好的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM