2012-02-29 14 views
13

Per esempio, nella mia attività ho tale codice (I saltare l'inizializzazione delle variabili):Come cancellare ImageView correttamente?

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

domanda è - come cancellare correttamente le risorse iView (con o senza distruggere vista)? ImageView libererebbe le sue risorse (utilizzate nel codice nativo) dopo b.recycle()?

suppongo, che ImageView non risorse E 'appena liberi dopo l'attività onStop (o onDestroy).

risposta

38
imgview.setImageResource(0); 

o

imgview.setImageDrawable(null); 
+7

'imgview.setImageResource (0)' non funziona (non cancellato la mia immagine dal punto di vista dell'immagine) impostando nullo non lavora – shem

+0

Funziona solo se utilizzato con uri o una risorsa: setImageResource public void (int resid) { if (!! Muri = null || mResource = resid) { ...} – pablisco

+0

setImageResource ha effetti collaterali nelle versioni precedenti – Krafty

5

non è necessario unbindDrawables, lo si può fare impostando iview.setImageDrawable(null);

0
viewToUse.setImageResource(android.R.color.transparent); 
  • Penso che utilizzando setImageResource con un identificatore di colore vi darà problemi di crash su Android 2.2.1, assicurati di testarlo.
0

Si può usare spesso funziona:

imageView.setImageResource(0);