此Handler类应该是静态的,否则可能会发生泄漏

时间:2013-09-18 02:51:35

标签: android static handler synchronize


当我实施处理程序时,我收到警告

'此Handler类应该是静态的,否则可能会发生泄漏' 因为上面的警告,我将处理程序定义为静态类。 以下是修改后的内容。

public static Handler   _handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {


        Bundle bundle = msg.getData();
        .
        .           
        .
        super.handleMessage(msg);
    }

};

现在我的这个处理程序将接收来自许多线程的消息。所以我想知道将此处理程序定义为静态是否可以?处理程序将所有接收消息保留在队列中并逐个处理而不会遗漏任何内容?

1 个答案:

答案 0 :(得分:0)

处理程序始终按照发布/计划的顺序一次处理一条消息,无论该类是否为静态。

如果它不是静态的,那么担心的是您可能会长时间泄漏类引用:This Handler class should be static or leaks might occur: IncomingHandler