2017-06-03 1 views
0

J'ai une question à propos de l'utilisation de mon bitmap de recyclage dans l'imageview. J'utilise ce code pour recycler une image dans une vue d'image.Recyclez-vous bien ou pas? dans onDestroy()

drawable = imglist1.getDrawable(); 
    if (drawable instanceof BitmapDrawable) { 
     BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; 
     Bitmap bitmap = bitmapDrawable.getBitmap(); 
     bitmap.recycle(); 
    } 

je l'appelle dans la méthode OnDestroy

@Override 
    protected void onDestroy() { 
    super.onDestroy(); 
     ... 
    } 

J'ai en images imageviews (bitmap) lorsque l'activité nouvelle ouverte (appel OnDestroy())

après ouvert une nouvelle activité ne peut pas vu les changements dans la mémoire du moniteur android.

moniteur android

android monitor

Comment pouvez contrôler si recycler bon travail, ou comment peut-dimi mémoire?

mémoire c'est la plupart des bitmaps dans les vues.

Merci pour les idées

Répondre

0

Après avoir marqué une image bitmap recyclable, il ne sera libéré lorsque GC exécuter. Ici vous avez plus d'infos: Android: Bitmap recycle() how does it work?

Mais votre question n'est pas très claire. Si vous recyclez des bitmaps dans onDestroy, cela n'a aucun sens car dans onDestroy, toutes les vues seront libérées et la référence de l'image bitmap aussi, elle sera donc GCed dans l'exécution suivante. La meilleure option pour vous est probablement de rééchantillonner vos images. Le lien que j'ai posté a plus d'infos.

+0

Je veux recyclet tout lors de l'ouverture d'autres activités. – trip07

+0

sur la mémoire du moniteur mémoire non affichée – trip07