当应用程序被系统杀死时,本地(即使用 LocalBroadcastManager 管理的)BroadcastReceiver 是否可能泄漏?
我需要它的具体用例是我想在 Activity 的 onCreate/onDestroy 中注册/取消注册 BroadcastReceiver(我需要接收器在 Activity 不可见时处于 Activity 状态),但我不会喜欢通过这样做冒导致内存泄漏的风险。据我了解,如果系统销毁了单个 Activity ,则 onDestroy 运行并且接收器未注册。如果应用程序被杀死怎么办?接收器是留在附近,还是在本地,它会随着应用程序一起被杀死吗?
最佳答案
如果你往里看LocalBroadcastManager
source code ,你会看到它实际上只是一个普通类(如你所说的“本地”),带有一个 Map
将各种 BroadcastReceiver
与相应的 List
连接起来IntentFilter
的 >。
在“系统级别”没有注册任何内容,所以否:如果应用程序被终止,LocalBroadcastManager 类也会随之终止,并且不会发生泄漏。
关于android - 本地管理的广播接收器泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17349588/