Tworzę aplikację na Androida 2.3.3 z usługą. Mam to wewnątrz tej usługi, aby komunikować się z główną działalnością:
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());
[ ... ]
}
I tutaj final Messenger mMessenger = new Messenger(new IncomingHandler());
pojawia się następujące ostrzeżenie Lint:
This Handler class should be static or leaks might occur: IncomingHandler
Co to znaczy?