“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()函数,库应该能够检测到关机时刻并且应该在内部进行清理。这可能吗?
任何指针欢迎。 此致
答案 0 :(得分:0)
好的,添加了一个清理功能。 解决