Les gestionnaires et les fuites de mémoire dans Android

Regardez le code ci-dessous:

public class MyGridFragment extends Fragment{

     Handler myhandler = new Handler() {
    @Override
    public void handleMessage(Message message) {
        switch (message.what) {
        case 2: {

            ArrayList<HashMap<String,String>> theurls = (ArrayList<HashMap<String,String>>) message.obj;
            urls.addAll(theurls);
            theimageAdapter.notifyDataSetChanged();
            dismissBusyDialog();
            break;
        }}}};
         }

Lorsque j'utilise le gestionnaire comme cela, je reçois un avertissement "gestionnaire doit être statique, sinon elle est sujette à des fuites de mémoire." Quelqu'un peut-il me dire quelle est la meilleure façon de le faire?

  • Je ne suis pas convaincu que vous êtes en utilisant le virage correctement. Jetez un oeil à ce guide: vogella.com/articles/AndroidPerformance/article.html. Ses pas déclaré comme statique dans l'exemple de code là. :/
  • Eh bien, même en l'utilisant comme ça me donne la même erreur. Ce n'est jamais utilisé pour arriver plus tôt jusqu'j'ai mis à jour mon android sdk de la nuit dernière. Déclarant simplement un gestionnaire comme une variable de classe apparaît cette charpie avertissement maintenant
  • Eh bien que diriez-vous simplement déclarer votre gestionnaire de statique?
  • Eh bien, je me réfère à la non-statiques, des objets à l'intérieur du gestionnaire
  • Découvrez ce blog pour une analyse plus approfondie
InformationsquelleAutor Rasmus | 2012-07-01