Удалить прослушиватель Firebase при исчезновении активности?

В iOS это хорошая практика для удаления слушателей при исчезновении контроллера представления. То же самое и в мире Android? Следует ли мне удалить всех слушателей в onPause() активности

1
0
455
1

Ответы 1

Если мы говорим о хороших практиках, вам вообще не следует иметь своих слушателей в вашем Activity. Всякий раз, когда происходит изменение конфигурации (например, поворот экрана), ваш Activity будет вызывать onPause, onStop, onDestroy, onCreate, onStart, onResume. Если ваш слушатель находится в вашем Activity, перестройка пользовательского интерфейса при изменении конфигурации займет больше времени, чем необходимо. Собственное решение Google для этой проблемы - ViewModel в библиотеке Компоненты архитектуры. Слушатели должны быть в вашем ViewModel или, возможно, даже в Repository, который вызывается из ViewModel. Все это более подробно объясняется в предоставленной ссылке.

Да, я знаю. Тем не менее, следует ли отсоединять слушателей в модели представления, когда активность исчезает?

Jack Guo 31.07.2018 17:38

Вы должны расширить LiveData, начать прослушивание в onActive и отсоединить слушателя в onInactive, выставить расширенный объект LiveData через ViewModel и наблюдать за ним из Activity. Таким образом, он будет обрабатывать все сложные жизненные циклы, чтобы ваше приложение было более надежным, а код более читабельным.

Sander 31.07.2018 17:55

Другие вопросы по теме