Когда не стоит использовать inline функцию

«Когда не стоит использовать inline функцию» — вопрос из категории Kotlin, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Inline-функции не стоит использовать в следующих случаях:

  1. Большие функции – если тело функции превышает несколько строк, inline может увеличить размер билда.
  2. Рекурсивные функции – компилятор не сможет развернуть рекурсию.
  3. Функции с лямбдами – если inline-функция принимает лямбду как параметр, сама лямбда тоже станет inline, что может неожиданно увеличить код.

Пример плохого использования inline:

inline fun heavyOperation(a: Int, b: Int): Int {
    // Много сложной логики...
    return result 
}

Лучше использовать для простых операций, например, обёрток над свойствами или утилитных функций.