在android中,我有一个函数是修改系统时间,比如名为setTime
函数,我想知道这个函数运行的时间需要多久,示例代码如下:
val start = System.currentTimeMillis()
TimeUtil.setTime(this, 12, 30) // 修改时间为12点半
Log.i("ABCD", "${System.currentTimeMillis() - start}")
运行会发现setTime
函数的运行时间是一个很大的负数,我就奇怪了,运行时间怎么可能是负数啊!这是因为我们修改了当前的系统时间了,比如现在是18:30,我改成了12:00,这使得System.currentTimeMillis()
的时间发生了变化,所以不准了。
SystemClock.elapsedRealtime()
函数返回自系统启动以来的时间,所以你修改系统时间并不会影响到这个时间,所以可以使用这个时间来计算函数的运行时间。
在SystemClock
文档中说到有三种不同的时钟,具体可以查看该API文档:https://developer.android.google.cn/reference/android/os/SystemClock