2014-11-14 3 views
1

리스너가 사용자 정의보기로 설정된 경우 메모리 누수에 대한 질문이 있습니다.메모리 누수를 피하기 위해 리스너 제거

class MyView extends View{ 
    private IOnSelectionListener listener; 

    public void setOnSelectionListener(IOnSelectionListener listener){ 
     this.listener = listener; 
    } 

    public void removeOnSelectionListener(){ 
     this.listener = null; 
    } 
} 

나는 IOnSelectionListener를 구현하는 활동이 있습니다 나는 다음과 같이 사용자 정의보기 MYVIEW 있습니다. 활성은 I는, 다른 활동을 탐색 또는 I가 방향을 바꿀 때

MyView myView; 
public onCreate(){ 
    myView = (MyView)findViewbyId(R.id.selectionview); 
    myView.setOnSelectionListener(this); 

} 

onDestroy(){ 
    myView.removeOnSelectionListener() 
} 

아래와 같이 코드 이제, 수신기는 메모리 누설을 방지 할 MYVIEW 제거해야한다 있습니까?

또한 WeakReference가 사용되는 경우 removeListener 메서드가 필요합니까?

감사합니다, 이 SrS

답변

1

나는 프로 아니지만, 내가, 내가 그냥 메모리를 해제 내 청취자 중 하나를 제거하지 꽤 복잡한 일을 생성 할 때까지 1 시간에서 나는 간단한 응용 프로그램을 만들 수 있습니다.

OS가 꽤 잘 처리 할 수 ​​있다고 생각합니다.

관련 문제