Этот класс Handler должен быть статическим, иначе могут возникнуть утечки. :IncomingHandler

Я разрабатываю приложение для Android 2.3.3 со службой. У меня есть это внутри этой службы для связи с основной активностью:

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());
    [... ]
}

И здесь final Messenger mMessenger = new Messenger(new IncomingHandler());я получаю следующее предупреждение Lint:

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

Что это означает?

287
задан Dheeraj V.S. 9 July 2012 в 23:43
поделиться