【发布时间】: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