Что такое жизненный цикл Broadcast Reciever

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

Ответ

BroadcastReceiver имеет простой жизненный цикл, ограниченный вызовом метода onReceive(). Когда приходит соответствующий интент:

  1. Система создает экземпляр BroadcastReceiver
  2. Вызывает onReceive(Context, Intent)
  3. Уничтожает Receiver после выполнения onReceive()

Важно:

  • onReceive() выполняется на главном потоке (не более 10 сек)
  • Долгие операции нужно выносить в сервис/WorkManager
  • Нельзя запускать асинхронные операции без гарантии их завершения

Пример:

class MyReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        if (intent.action == "MY_ACTION") {
            // Обработка широковещательного сообщения
            Toast.makeText(context, "Received!", Toast.LENGTH_SHORT).show()
        }
    }
}