2012-02-29 2 views
13

내 활동에 나는 그런 코드가 (I 변수의 초기화 건너 뛰기) :ImageView를 올바르게 지우려면 어떻게해야합니까? 예를 들어

ImageView iview; //some ImageView 
Bitmap b; //some Bitmap 
iview.setImageBitmap(b); 

질문입니다 - 어떻게 (또는보기를 파괴하지 않고) 제대로 iView에 자원을 취소하려면? ImageView는 b.recycle() 이후에 리소스 (원시 코드에서 사용)를 무료로 사용할 수 있습니까?

ImageView 이 아니므로 Activity onStop (또는 onDestroy) 이후에 리소스를 해제해야합니다.

답변

38
imgview.setImageResource(0); 

또는

를 설정하여 그것을 할 수있는 것은
imgview.setImageDrawable(null); 
+7

'imgview.setImageResource (0)' – shem

+0

작업 않는 널 (null) 설정 (이미지보기에서 내 이미지를 삭제하지 않음) 작동하지 않는 것은에만 작동 uri 또는 리소스 : setImageResource (int resId) { if (mUri! = null || mResource! resId) { ... } – pablisco

+0

setImageResource는 이전 버전에서 부작용이 있습니다. – Krafty

5

당신이 unbindDrawables 필요 더, 당신은 iview.setImageDrawable(null);

0
viewToUse.setImageResource(android.R.color.transparent); 
나는 컬러 식별자 setImageResource를 사용하여 생각
  • 당신에게 충돌 문제를 포기하지 않습니다 Android 2.2.1에서는 테스트를 거쳐야합니다.
0

당신은 작동 자주 사용할 수 있습니다와 함께 사용할 경우

imageView.setImageResource(0);