Хранение ссылки на объект жизненного цикла в LifecycleObserver

В классе LifecycleObserver насколько хорошо хранить ссылку на объект Lifecycle? Какое осложнение может возникнуть?

class MyLocationListener implements LifecycleObserver {
    private Lifecycle mLifecycle;
    public MyLocationListener(Context context, Lifecycle lifecycle, Callback callback) {
           mLifecycle = lifecycle  
           ...
    }
}

1 ответ

Решение

Вы не должны сохранять ссылку, это открытие для утечек памяти, которые наблюдатель должен наблюдать, чтобы не содержать ссылку, и если вы хотите выполнить действия с изменениями жизненного цикла, сделайте это следующим образом:

 @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY //you can change to whatever lifecycle event you need)
 public void activityDestroied() {
 //actions here
 }