给定来自服务器的 Posix 时间(在应用程序启动时,我得到以秒为单位的时间),我想以最可靠的方式将事件发生后耗时发送到服务器。
这些是我所做的步骤:
- 获取 Posix 时间
- 点击一个按钮,获取真实的时间戳,也就是将耗时加上服务器时间(不能依赖客户端)
- 将事件的 Posix 时间发送到服务器
我使用了 Java.Date,但是我很确定这很容易上当受骗。想象一下在步骤 1 和步骤 2 之间我改变了时钟。
现在另一个问题是即使手机空闲也能测量时间。
所以我真正的问题是如何可靠地测量 Android 中的时间差。
我在 stackoverflow 中进行了搜索,但我找到的所有示例都带有日期。
最佳答案
您应该考虑使用SystemClock.elapsedRealtime()或SystemClock.elapsedRealtimeNanos()取决于您想要的精度。
SystemClock保证是单调的,即使 CPU 处于省电模式,也会继续滴答。
关于java - 可靠地获取时差 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49743137/