Aller au contenu

Desire: variables se réinitialisent apres un startActivityForResult


Profete162

Recommended Posts

Posté(e)

Salut à tous,

je suis en train de me prendre la tête sur un comportement bizarre d'Android, seulement sur le Desire...

J'ai un code assez simple, et un comportement étrange qui se passe seulement sur mon Desire:

Prenons mes 2 activités A et B:

Pour simplifier, l'activité A choisis une image dans une liste, la B, du texte dans une liste et au retour de la B, l'activité A me mixe l'image et le texte

Le truc, c'est que je fais ce code:

(newIcon est un Bitmap global)

                 Log.i(TAG,"newicon is set to "+newIcon);
                        Intent intent = new Intent();
                        intent.setClass(ActivityB.this, ActivityPickerActivity.class);
                        startActivityForResult(intent, ACTIVITY_B);

et il m'indique bien:" newicon is set to android.graphics.Bitmap@46591ce0"

Quand je reviens, je fais simplement:

    @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent result) {
       if (resultCode != RESULT_OK) {
           return;
       }

       switch (requestCode) {
       case ACTIVITY_B:
           myresult=result;
           Log.i(TAG,"new icon: "+newIcon);
           myresult.putExtra(Intent.EXTRA_SHORTCUT_ICON, newIcon);
           setResult(RESULT_OK, myresult);
           finish();
           break;

       }
   }

et là, il m'indique "new icon: null"

J'ai bien fait une recherche dans tout mon code, newIcon n'est utilisé que dans ces lignes là!

Comment cette valeur a-t-elle pu se resetter et pourquoi est ce que cela fonctionne sur tous mes téléphones et pas sur le Desire?

Y'aurait-il une optimisation de la gestion de la mémoire qui fait qu'il oublie tout?

Je suis un peu perdu...

Posté(e)

Il est possible que ton Activité soit suspendue aussi, le temps que B fasse son traitement et à ce moment et que dans l'état sauvegardé ton bitmap aie disparu.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...