RadiusNetwork AltBeacon泄漏ServiceConnection

时间:2014-10-12 09:00:45

标签: android memory-leaks altbeacon

“MainActivity泄漏了最初绑定在这里的ServiceConnection org.altbeacon.beacon.BeaconManager” - 这是问题,我正面临着。我正在使用库中类的AltBeacon。该类在实例化时传递了一个Context元素。该类实现了BeaconConsumer,覆盖的行为如下所示:

@Override
public Context getApplicationContext() {
    return mContext.getApplicationContext();
}
@Override
public boolean bindService(Intent intent, ServiceConnection connection, int mode) {
    return mContext.bindService(intent, connection, mode);
}

@Override
public void unbindService(ServiceConnection connection) {
    mContext.unbindService(connection);
}
@Override
public void onBeaconServiceConnect() {
         // do things
}

bindService有效,但由于库中没有onDestroy(并且从不调用finalize()),因此永远不会调用unbindService。这导致了上述泄漏。

我该如何从中恢复?我不想暴露一个特殊的cleanup()函数,库应该能够检测到关机时刻并且应该在内部进行清理。这可能吗?

任何指针欢迎。 此致

1 个答案:

答案 0 :(得分:0)

好的,添加了一个清理功能。 解决