- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
根据 API 文档以及之前的 SO threads , SystemClock.elapsedRealtime()
应该即使在设备处于 sleep 状态时也能保持准确的时间。这不是我观察到的。
我编写了一个简单的时钟,它位于 while (true)
循环中,并根据 SystemClock.elapsedRealtime()
的值更新屏幕上的时间。如果我同步两个设备上的时钟,例如通过 NTP,然后继续在其中一台设备上打开和关闭屏幕几次,显示的时间将漂移最多 +/- 0.7 秒。 (这只会在手机未连接到外部电源时发生,因此 sleep 模式可能是这里的罪魁祸首)。
这正常吗?这是Android中的错误吗?有什么方法可以在整个 sleep /唤醒周期中保持约 20 毫秒的计时精度?
最佳答案
我有一个每分钟与服务器通信一次的应用程序。它通过在启动时记录服务器时间和 SystemClock.elapsedRealtime() 然后使用 elapsedRealtime 计算服务器时间来同步设备时钟和服务器时钟(我这样做是因为设备本身从网络同步时间并且####不能完全值得信任)。
在一周的时间里,在 Galaxy Tab 2 上运行,SystemClock.elapsedRealtime() 比服务器时钟晚了几分钟,不到 两个小时。我的日志显示漂移速度不是恒定的,因此设备的使用方式确实会影响它。
虽然 API 要求时钟提供单调时间,但不保证准确性。因此,它不是长时间准确记录时间的有用方法。
关于android - 设备处于低功耗模式时 SystemClock.elapsedRealtime() 漂移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11231657/
我希望创建能够快速重复的功能 - 大约 50 毫秒。然而,我需要在调用中尽可能保持一致性,并且我发现 NSTimer 有点不稳定。看来我可能会从 mach_absolute_time 找到一些保持时间
根据 API 文档以及之前的 SO threads , SystemClock.elapsedRealtime() 应该即使在设备处于 sleep 状态时也能保持准确的时间。这不是我观察到的。 我编写
我想开发在谷歌地图上绘制当前位置的应用程序。在这里,我通过 LocationManager(GPS 提供商和网络提供商)的 onLocationChanged 获取位置详细信息。我能够获取位置详细信息
我有一个使用 MKMapView 的简单 iPhone 应用程序。它有一个分段控件,可以调整要缩放的区域(街道、社区、城市、州、世界)。它工作正常,但如果我缩小到州级别并回到街道,我注意到中心点已经移
我正在尝试在连接到本地 NTP 服务器的 Mac 上获取实际的 NTP 漂移。 读取/var/db/ntp.drift 文件时,根据PPM to milliseconds conversion 得到-
我有一个 AWS Cloud Formation 堆栈。我启动并停止了该堆栈中的 EC2 实例。现在堆栈已漂移,下面是漂移结果。我该如何解决这个问题,因为预期和实际都是相同的。 最佳答案 我不相信这与
我是一名优秀的程序员,十分优秀!