web-dev-qa-db-fra.com

Comment effacer correctement ImageView?

Par exemple, dans mon activité, j'ai ce code (je saute l'initialisation des variables):

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

La question est - comment effacer les ressources iview correctement (avec ou sans vue destructrice)? Est-ce que ImageView libérerait ses ressources (utilisées dans le code natif) après b.recycle()?

Je suppose que ImageView ne - pas libère simplement les ressources après l'activité onStop (ou onDestroy).

13
Dmitry Zaytsev
imgview.setImageResource(0);

ou 

imgview.setImageDrawable(null);
40
Samir Mangroliya

non, vous devez désassembler les éléments extractibles, vous pouvez le faire en définissant iview.setImageDrawable(null);

5
jeet
viewToUse.setImageResource(Android.R.color.transparent);
  • Je pense qu'en utilisant setImageResource avec un identifiant de couleur, vous rencontrerez des problèmes de plantage sur Android 2.2.1, assurez-vous de le tester.
0
Ashraf Alshahawy

si rien ne fonctionne pour vous, essayez de définir la couleur d'arrière-plan de la vue sur la couleur de présentation. Si ma couleur de présentation est blanche, vous pouvez le faire comme ceci:

 edit_countflag.setBackgroundColor(Color.parseColor("#ffffff"));
//then set the image
 edit_countflag.setImageResource(R.drawable.flag_id);
0

Vous pouvez utiliser fréquemment cela fonctionne:

imageView.setImageResource(0);
0
Dhiraj Singh