우선 A를 상속받은 B가 있습니다.

A는 이미지를 갖는 비트맵변수를 가지고 잇습니다.

 

B의 함수에  A의 비트맵 변수를 인자로 넘겨 비트맵을 recycle 시키고 null로 초기화 하려 합니다.

그런데 이게 안되는 겁니다........

 

문제의 B의 함수 입니다. 

  public void BitmapRecycle(Bitmap _bitmap) {
  // TODO Auto-generated method stub
  if(_bitmap != null){
   _bitmap.recycle();
   _bitmap = null;   
  }  
 }

요렇게 되어있습니다.  로그를 돌려보면 함수호출은 정상적으로 돕니다.

그런데 어째서인지 인자로 받는 비트맵변수가 null이 안됩니다.

 

근데 또 문제는

 if(imgA != null){
   imgA.recycle();
   imgA = null;
  }

이 구문입니다. if문은 B클래스 내의 if문 입니다.

imgA는 A클래스의 비트맵변수 입니다.

이렇게 직접 명시해주면 비트맵변수가 null로 초기화가 됩니다.

 

어째서 함수의 인자값으로 넘겼을땐 안되는건지.....

함수가 잘못된 코드인건지...... 고수분들 답변좀 부탁드리겠습니다. _ _)a