J'ai une ListActivity contenant un objet que j'ai défini appelé MessageItem. Je souhaite transférer les données de cet objet MessageItem à un service pour effectuer certaines tâches, mais je ne souhaite pas que l'activité soit liée au service de telle sorte qu'Android ne puisse pas récupérer l'activité si nécessaire (fuite de mémoire ergo).). Ce que je fais est de passer l'objet MessageItem à une méthode dans une classe singleton avec le contexte de l'application. La méthode singleton utilise l'application Context pour démarrer mon service. Je passe à ce service une intention. Dans cette intention, je mets des éléments de l'objet MessageItem comme ceci:Est-ce une fuite de mémoire?
intent.putExtra("subject", msg.getSubject());
intent.putExtra("summary", msg.getSummary());
intent.putExtra("created_on", msg.getCreatedDate());
intent.putExtra("read", msg.getIsRead());
Est-ce que ces données se lier mon activité au service l'intention est transmis dans et provoquer une fuite de mémoire?
Serait-ce une meilleure mise en œuvre ?:
intent.putExtra("subject", new String(msg.getSubject()));
intent.putExtra("summary", new String(msg.getSummary()));
intent.putExtra("created_on", new Integer(msg.getCreatedDate()));
intent.putExtra("read", new Boolean(msg.getIsRead()));
Ah oui, bien bon – Andrew
Est-ce que Android est appelé ce que vous appelez, plutôt que de simplement l'appeler en boîte? – Powerlord