Этот класс обработчика должен быть статическим, иначе могут возникнуть утечки: 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

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

Ответы на вопрос(6)

Ваш ответ на вопрос