Ответ
Inline-функции в Kotlin оптимизируют производительность, заменяя вызов функции её телом во время компиляции. Это устраняет накладные расходы на вызов метода (создание stack frame, передачу параметров).
Преимущества:
- Уменьшают overhead вызовов, особенно полезно для часто вызываемых маленьких функций
- Улучшают производительность в критичных к скорости участках кода
Ограничения:
- Нельзя использовать для рекурсивных функций
- Большие inline-функции могут увеличить размер билда
Пример:
inline fun measureTime(action: () -> Unit) {
val start = System.currentTimeMillis()
action()
println("Time: ${System.currentTimeMillis() - start}ms")
}
// При компиляции тело функции подставится вместо вызова
measureTime { /* какой-то код */ }