1
我有一个关于为监听器设置自定义视图时发生内存泄漏的问题。 我有如下的自定义视图MyView的:删除监听器,以避免内存泄漏
class MyView extends View{
private IOnSelectionListener listener;
public void setOnSelectionListener(IOnSelectionListener listener){
this.listener = listener;
}
public void removeOnSelectionListener(){
this.listener = null;
}
}
我有它实现了IOnSelectionListener一个活动。该活动有代码如下
MyView myView;
public onCreate(){
myView = (MyView)findViewbyId(R.id.selectionview);
myView.setOnSelectionListener(this);
}
onDestroy(){
myView.removeOnSelectionListener()
}
现在,当我浏览到另一个活动或我更改方向,应该听者应为MyView的,以避免内存泄漏删除?
此外,如果使用WeakReference,那么我们是否需要有一个removeListener方法?
问候, 的SrS