... когда приложение мертво, по-прежнему ли прослушивает EventListener и будет ли вызываться onDataChange?
Прослушиватели событий активны, только когда активен контекст, в котором они запущены.Для слушателей, которых вы присоединяете к действию, это означает, что они активны во время работы приложения.Даже в этом случае Android может убить слушателей (или точнее: сокет, который они используют для связи с сервером), если пользователь не использует приложение активно.
Если вы хотите, чтобы слушатель оставался активным дольше, выдействительно может рассмотреть управление слушателями в фоновом режиме.Но даже там, Android может закрыть слушателя, чтобы сохранить время автономной работы.Об этом всегда следует помнить: если ваш вариант использования противоречит предпочтениям пользователя (и большинство пользователей, вероятно, предпочитают более длительное время автономной работы по сравнению с какой-либо конкретной функцией приложения), маловероятно, что он продолжит работать в долгосрочной перспективе.
Лучшим подходом является объединение слушателей с Firebase Cloud Messaging для отправки сообщений.Сообщения FCM с большей вероятностью (хотя и не гарантированы) доставляются, когда пользователь не использует приложение активно, и вы можете использовать их для запуска некоторого кода вашего приложения, когда они поступят.Вы захотите использовать для этого сообщения с данными FCM, так как большинство приложений доставляют фоновые обновления.
Вы также можете использовать сообщение данных FCM, чтобы просто разбудить свой собственный код, затем добавить этот код к слушателю и получить его обновления.Этот тип поведения известен как отправка сообщения, так как все сообщение с данными делает пробуждение кода приложения.