[英]Android: time intervals with deep sleep (System.nanoTime(), System.currentTimeMillis(), SystemClock.elapsedRealtimeNanos())
我正在实现一个具有最低API级别14的应用程序(这很重要)并且需要一致的间隔测量。 不需要ms精度,它只需要总是计算时间(经过的秒数)。
到目前为止,为了处理时间间隔,我知道这些解决方案:
System.nanoTime()
- 如果Android正在运行,效果很好,但在深度睡眠时停止(这很糟糕)。 System.currentTimeMillis()
- 很好,但不合适,因为它可以由用户或使用setCurrentTimeMillis(long)
代码更改。 SystemClock.elapsedRealtimeNanos()
- 计算即使在深度睡眠时经过的时间,但需要API级别17。 还有另一种方法可以在API 14上获得合理的二次精度间隔测量吗?
我想过使用System.currentTimeMillis()
监听广播意图来查看系统时钟是否已经改变。 然而,这似乎不是最好的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.