1

我需要获得设备的正常运行时间,为此我一直在使用名为SystemClock.uptimeMillis(). 一些用户抱怨正常运行时间统计数据不正确,并且设备已经运行了更长的时间。

我阅读了文档,但我对SystemClock类中的哪种方法会产生真正的正常运行时间感到困惑——我应该使用elapsedRealtime()吗?

4

1 回答 1

3

这取决于您如何定义应用程序的“正常运行时间”。

uptimeMillis()不计算睡眠模式下花费的时间。因此,如果用户打开他们的设备,在它进入睡眠状态之前运行它五分钟,然后一周不返回设备,uptimeMillis()将返回一个大约五分钟的值。

elapsedRealtime() 确实计算在睡眠模式下花费的时间。因此,如果用户打开他们的设备,在它进入睡眠状态之前运行它五分钟,然后一周不返回设备,elapsedRealtime()将返回一个大约一周的值。

于 2013-06-27T11:58:40.907 回答