Cette classe de Gestionnaire doit être statique ou des fuites peuvent se produire: IncomingHandler

Je suis l'élaboration d'un Android 2.3.3 application d'un service. J'ai présent à l'intérieur de ce service pour communiquer avec activité Principale:

public class UDPListenerService extends Service
{
    private static final String TAG = "UDPListenerService";
    //private ThreadGroup myThreads = new ThreadGroup("UDPListenerServiceWorker");
    private UDPListenerThread myThread;
    /**
     * Handler to communicate from WorkerThread to service.
     */
    private Handler mServiceHandler;

    //Used to receive messages from the Activity
    final Messenger inMessenger = new Messenger(new IncomingHandler());
    //Use to send message to the Activity
    private Messenger outMessenger;

    class IncomingHandler extends Handler
    {
        @Override
        public void handleMessage(Message msg)
        {
        }
    }

    /**
     * Target we publish for clients to send messages to Incoming Handler.
     */
    final Messenger mMessenger = new Messenger(new IncomingHandler());
    [ ... ]
}

Et ici, final Messenger mMessenger = new Messenger(new IncomingHandler());, j'ai le Charpie avertissement:

This Handler class should be static or leaks might occur: IncomingHandler

Ça veut dire quoi?

  • Découvrez ce blog pour beaucoup plus d'informations sur ce sujet!
  • Des fuites de mémoire, provoqué par la collecte des ordures... C'est assez pour montrer comment Java est incohérent et mal conçu
InformationsquelleAutor VansFannel | 2012-07-10