相关疑难解决方法(0)

信使到远程服务导致内存泄漏

我有一个应用Service程序使用该Messenger接口与远程进程通信.以下是设置方式的基本架构:

  • 应用程序生成几个需要访问服务的"操作"对象.
  • 每个"操作"包含一个用于从中接收响应数据的Handler包装MessengerService
  • 当操作执行时,它将其包装MessengerIntent并调用startService()以将消息传递给远程服务
  • 远程服务根据参数执行一些工作Intent,然后通过发送Message给该Messenger操作来返回响应.

以下是操作中的基本代码:

public class SessionOperation {

    /* ... */

    public void runOperation() {
        Intent serviceIntent = new Intent(SERVICE_ACTION);
        /* Add some other extras specific to each operation */
        serviceIntent.putExtra(Intent.EXTRA_EMAIL, replyMessenger);

        context.startService(serviceIntent);
    }

    private Handler mAckHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            //Process the service's response
        }
    };
    protected Messenger replyMessenger = new …
Run Code Online (Sandbox Code Playgroud)

service android memory-leaks

2
推荐指数
1
解决办法
1596
查看次数

标签 统计

android ×1

memory-leaks ×1

service ×1