Что такое Context

«Что такое Context» — вопрос из категории Android компоненты, который задают на 27% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Context в Android — это абстракция, предоставляющая доступ к ресурсам приложения и системным сервисам. Это базовый класс для Activity, Service, Application и других компонентов.

Типы Context:

  • Activity Context — связан с жизненным циклом Activity (используется для UI-операций).
  • Application Context — живет дольше, но не подходит для UI (например, для Toast).

Пример:

// Получение Application Context  
val appContext = applicationContext  

// Получение Activity Context (в Activity)  
val activityContext = this  

Осторожно:

  • Утечки памяти, если хранить Context в статическом поле.
  • Неправильный выбор Context может привести к крашу (например, Application Context для диалога).