Ответ
Передача Context в функцию допустима, но требует осторожности. Основные риски:
- Утечки памяти - если
Contextпривязан к активити/фрагменту, а функция сохраняет ссылку дольше их жизни - Неправильный контекст - например, передача активити в место, где нужен
ApplicationContext
Лучшие практики:
- Для долгоживущих операций используй
ApplicationContext(получается черезcontext.applicationContext) - Ограничивай область видимости контекста в функциях
Пример безопасного использования:
fun showToast(context: Context, message: String) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
// Контекст не сохраняется
}