【问题标题】:Removing the listener to avoid memory leak删除监听器以避免内存泄漏
【发布时间】:2014-11-14 06:58:00
【问题描述】:

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

问候, 锶

【问题讨论】:

    标签: android memory-leaks


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      相关资源
      最近更新 更多