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