2012-02-29 28 views
13

, benim Faaliyet içinde böyle kod var (Ben değişkenlerin başlatma atlayın):ImageView nasıl temizlenir? Örneğin

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

Soru - nasıl (veya görünümü bozmadan) düzgün iview kaynaklarını temizlemek için? ImageView, b.recycle()'dan sonra kaynakları (yerel kodda kullanılır) serbest bırakır mı?

Ben ImageView Faaliyet onStop (veya onDestroy) sonra değil bedava bunun kaynaklarını yaptığı, varsayalım.

cevap

38
imgview.setImageResource(0); 

veya

ayarlayarak bunu yapabilirsiniz
imgview.setImageDrawable(null); 
+7

'imgview.setImageResource (0)' – shem

+0

çalışma yapmak boş ayarı (görüntü görünümünden Resmimi temizlenmez) çalışmıyor Yalnızca işe uri veya resource: public void setImageResource (int resId) { (mUri! = null || mResource! = resId) { ... } – pablisco

+0

setImageResource önceki sürümlerinde yan etkilere sahiptir. – Krafty

5

Eğer unbindDrawables gerek yok, sen iview.setImageDrawable(null);

0
viewToUse.setImageResource(android.R.color.transparent); 
Bir renk tanımlayıcı ile setImageResource kullanarak düşünüyorum
  • size çökmesini sorunları verecektir Android 2.2.1'de test ettiğinizden emin olun.
0

Sen çalıştığını sık kullanabilirsiniz: birlikte kullanılırsa

imageView.setImageResource(0);