Я разрабатываю для Android, используя аннотации Android. У меня есть одноэлементный наблюдаемый объект, для которого я хочу добавить активность в качестве наблюдателя. Что-то вроде следующего:
@EActivity(R.layout.myActivity)
public class MyActivity extends SherlockActivity implements Observer {
@Bean //has singleton scope
protected Observerable o;
@Override
public void onCreate() {
o.registerObserver(this);
}
@Override
public void onDestroy() {
o.unregisterObserver(this);
}
//more code
Мой вопрос связан с методом уничтожения. Будет ли ситуация, когда Android убивает активность во время остановки или паузы без вызова onDestroy()
? Если это так, мой Observerable
может содержать ссылку на активность, которая больше не используется системой, что нехорошо. Или это не так? Если это моя презумпция, то я буду хранить слабые ссылки на все мои действия в моем списке зарегистрированных наблюдателей, чтобы их можно было автоматически отменить. Это хорошее решение или оно не нужно?