NotesUESTC/Android开发笔记/Kotlin测量经过的时间.md

67 lines
1.5 KiB
Markdown
Raw Normal View History

2024-03-27 11:19:08 +08:00
# Kotlin测量经过的时间
## 一、使用 `System.nanoTime()` 功能
在 Kotlin 中测量程序运行时间的推荐方法是 `System.nanoTime()`,它以纳秒精度返回 JVM 时间源的当前值。
```kotlin
fun main() {
val begin = System.nanoTime()
/* 代码开始 */
// 休眠 2 秒
Thread.sleep(2000)
/* 代码结束 */
val end = System.nanoTime()
println("Elapsed time in nanoseconds: ${end-begin}")
}
```
## 二、使用 `System.currentTimeMillis()` 功能
您还可以使用 `System.currentTimeMillis()`,但结果可能不是那么准确。
```kotlin
fun main() {
val begin = System.currentTimeMillis()
/* 代码开始 */
// 休眠 2 秒
Thread.sleep(2000)
/* 代码结束 */
val end = System.currentTimeMillis()
println("Elapsed time in milliseconds: ${end-begin}")
}
```
这是使用的替代解决方案 `Instant.now()` 内部使用 `System.currentTimeMillis()`.
```kotlin
import java.time.Instant
fun main() {
val begin = Instant.now().toEpochMilli()
/* 代码开始 */
// 休眠 2 秒
Thread.sleep(2000)
/* 代码结束 */
val end = Instant.now().toEpochMilli()
println("Elapsed time in milliseconds: ${end-begin}")
}
```
## 三.使用 `Date.getTime()` 功能
```kotlin
import java.util.Date
fun main() {
val begin = Date().time
/* 代码开始 */
// 休眠 2 秒
Thread.sleep(2000)
/* 代码结束 */
val end = Date().time
println("Elapsed time in milliseconds: ${end-begin}")
```