【发布时间】:2012-09-29 14:41:11
【问题描述】:
我正在使用 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
我的问题在于 on destroy 方法。是否会出现android在停止或暂停状态没有调用onDestroy()时杀死活动的情况?如果是这种情况,我的Observerable 可能会保留对系统不再使用的活动的实时引用,这不好。还是不是这样?如果我的假设是在我的注册观察者列表中保留对我所有活动的弱引用,那么它们可以自动取消注册。这是一个好的解决方案还是不需要?
【问题讨论】:
-
您使用 Observer 的目的是什么?
-
我正在通过 ormlite 修改域对象。呈现这些对象的所有活动都通过观察者通知响应创建/读取/更新修改。因此,例如,我的可观察者允许我通过 OrmLite 存储库向数据库添加一个新的域对象,并且查看所有域列表的活动通过其观察者实现通知新域。
标签: android observer-pattern android-annotations