Я новичок в EventBus и задавался вопросом, что произойдет, если принимающая сторона, например, деятельность, будет уничтожена или станет нулевой. Пожалуйста, мне нужно объяснение для этого, поскольку я пытаюсь построить стандарты для создания (архивирования) приложений Android, а EventBus - это способ, которым я использую, чтобы разделить компоненты.Android EventBus и компонент LifeCycle
ответ
Вы должны зарегистрировать приемник, когда он должен начать получать события и отменить его от получения событий, когда он не должен (например, будет уничтожен). В случае Activity
/Fragment
вы должны рассмотреть методы жизненного цикла, такие как onCreate
/onDestroy
и onResume
/ как основные пары методов жизненного цикла.
Если вы не отмените регистрацию получателя от получения событий, когда он будет уничтожен, тогда, в зависимости от фактической шины события, которую вы используете, вы либо будете тратить некоторый объем памяти (для размещения ссылки null
в приемниках карту) или получить NPE (если реализация шины события не проверяет приемник на null
).
Спасибо. Я получил его :) –
Если мой ответ помог вам, пожалуйста, примите его. – s0nerik
Когда начинается действие, он подписывается на EventBus. Когда действие уничтожено, оно отменяется. Поэтому, как только Activity уничтожается и отменит подписку, нет никакой связи между Activity и EventBus. – Sharj