我正在使用两个类,以及android中的模型类和对话框类。模型类保留一个侦听器列表,对话框将添加到该侦听器列表。
public class SmartChannelModel {
private List<OnResultsChanged> mOnResultsChanged
public interface OnResultsChanged {
void onResultsChanged(int changed);
}
public SmartChannelModel() {
mOnResultsChanged = new List<OnResultsChanged>();
}
public void addResultListener(OnResultsChanged listener) {
mOnResultsChanged.add(listener);
}
}
而我的对话框类:
public class InfoDialog extends AppCompatDialog {
private SmartChannelModel model;
public InfoDialog(Context context, SmartChannelModel model) {
super(context);
this.model = model;
}
public void update() {
//do some stuff
}
@Override
protected void onStart() {
super.onStart();
model.addOnResultsChanged(new OnResultsChanged() {
@Override
void onResultsChanged(int changed) {
update();
}
});
}
}
当我创建和关闭此对话框时,由于该对话框向模型类添加了侦听器,因此是否会对其进行垃圾回收?我是否需要专门删除已添加的所有侦听器?
感谢您的帮助!
据我所知,是的,如果在班上其他任何地方都没有对它的引用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句