2015-07-18 3 views
0

Я новичок в EventBus и задавался вопросом, что произойдет, если принимающая сторона, например, деятельность, будет уничтожена или станет нулевой. Пожалуйста, мне нужно объяснение для этого, поскольку я пытаюсь построить стандарты для создания (архивирования) приложений Android, а EventBus - это способ, которым я использую, чтобы разделить компоненты.Android EventBus и компонент LifeCycle

+0

Когда начинается действие, он подписывается на EventBus. Когда действие уничтожено, оно отменяется. Поэтому, как только Activity уничтожается и отменит подписку, нет никакой связи между Activity и EventBus. – Sharj

ответ

1

Вы должны зарегистрировать приемник, когда он должен начать получать события и отменить его от получения событий, когда он не должен (например, будет уничтожен). В случае Activity/Fragment вы должны рассмотреть методы жизненного цикла, такие как onCreate/onDestroy и onResume/ как основные пары методов жизненного цикла.

Если вы не отмените регистрацию получателя от получения событий, когда он будет уничтожен, тогда, в зависимости от фактической шины события, которую вы используете, вы либо будете тратить некоторый объем памяти (для размещения ссылки null в приемниках карту) или получить NPE (если реализация шины события не проверяет приемник на null).

+0

Спасибо. Я получил его :) –

+0

Если мой ответ помог вам, пожалуйста, примите его. – s0nerik