Android 本地管理的广播接收器泄漏?

Android 本地管理的广播接收器泄漏?,android,memory-leaks,broadcastreceiver,localbroadcastmanager,Android,Memory Leaks,Broadcastreceiver,Localbroadcastmanager,当应用程序被系统终止时,本地(即使用LocalBroadcastManager管理)BroadcastReceiver是否可能泄漏 我需要它的特定用例是,我希望在活动的onCreate/onDestroy中注册/注销BroadcastReceiver(我需要在活动不可见时激活接收器),但我不希望这样做会导致内存泄漏。据我所知,如果单个活动被系统破坏,onDestroy将运行,并且接收器将被注销。如果应用程序被杀死怎么办?接收器是否仍在附近,或者,作为本地接收器,它是否会随应用程序一起被杀死?您应

当应用程序被系统终止时,本地(即使用LocalBroadcastManager管理)BroadcastReceiver是否可能泄漏


我需要它的特定用例是,我希望在活动的onCreate/onDestroy中注册/注销BroadcastReceiver(我需要在活动不可见时激活接收器),但我不希望这样做会导致内存泄漏。据我所知,如果单个活动被系统破坏,onDestroy将运行,并且接收器将被注销。如果应用程序被杀死怎么办?接收器是否仍在附近,或者,作为本地接收器,它是否会随应用程序一起被杀死?

您应该完全在onDestroy中注销它,因为onDestroy并不意味着您的应用程序已完成,而只是指您的活动。应用程序中的其他活动可能仍在运行,因此接收器可能会导致泄漏。

如果你往里面看,你会发现它实际上只是一个普通的类(“如你所说的本地”),带有一个
映射,将各种
广播接收器
IntentFilter
的相应
列表连接起来


没有在“系统级”注册任何内容,因此否:如果应用程序被终止,LocalBroadcastManager类将被终止,并且不会发生泄漏

谢谢您的回答。然而,我所说的问题是另一种情况。在OnDestroy中注销可能不会在系统终止应用程序时发生,因为不会调用该方法。在这种情况下,接收器是否会泄漏?