删除侦听器以避免内存泄漏

时间:2014-11-14 06:58:01

标签: android memory-leaks

当为自定义视图设置侦听器时,我有一个关于内存泄漏的问题。 我有一个自定义视图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

1 个答案:

答案 0 :(得分:1)

我不是专业人士,但从第一次创建一个简单的应用程序,直到我创建了一个非常复杂的应用程序,我从不删除任何我的听众只是为了释放内存。

我认为操作系统可以很好地处理它