当为自定义视图设置侦听器时,我有一个关于内存泄漏的问题。 我有一个自定义视图MyView如下:
class MyView extends View{
private IOnSelectionListener listener;
public void setOnSelectionListener(IOnSelectionListener listener){
this.listener = listener;
}
public void removeOnSelectionListener(){
this.listener = null;
}
}
我有一个实现IOnSelectionListener的Activity。活动的代码如下
MyView myView;
public onCreate(){
myView = (MyView)findViewbyId(R.id.selectionview);
myView.setOnSelectionListener(this);
}
onDestroy(){
myView.removeOnSelectionListener()
}
现在,当我导航到另一个活动或我更改方向时,是否应该为MyView删除监听器以避免内存泄漏?
如果使用WeakReference,那么我们需要一个removeListener方法吗?
此致 的SrS
答案 0 :(得分:1)
我不是专业人士,但从第一次创建一个简单的应用程序,直到我创建了一个非常复杂的应用程序,我从不删除任何我的听众只是为了释放内存。
我认为操作系统可以很好地处理它