Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kotlin: context, application, activity, memory leak, lifecycle

В чём разница между Application Context и Activity Context?

Проверяет, насколько хорошо разработчик ориентируется в разных контекстах Android и их области применения.

Короткий ответ

Application Context живёт столько же, сколько и приложение, а Activity Context — столько, сколько активна конкретная Activity. Использование неправильного контекста может привести к утечке памяти.

Длинный ответ

1. Application Context:

  • Доступен через context.getApplicationContext().

  • Не связан с UI.

  • Подходит для singletons, инициализации SDK и длительных операций.

2. Activity Context:

  • Используется для отображения UI: Toast, Dialog, LayoutInflater.

  • Если сохранить Activity Context в синглтон — возможна утечка памяти.

Пример:

Toast.makeText(applicationContext, "Hello", Toast.LENGTH_SHORT).show() // OK
val inflater = LayoutInflater.from(applicationContext) // BAD, может не отобразить UI

Используйте Application Context для логики, Activity Context — для UI и взаимодействия с экраном.

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Kotlin

    Kotlin

  • Android

    Android

Ключевые слова

#context

#application

#activity

#memory leak

#lifecycle

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.