Android 广播接收器是否通过清单注册?是否在应用程序关闭时自动注销?

Android 广播接收器是否通过清单注册?是否在应用程序关闭时自动注销?,android,Android,我一直在通过舱单注册广播接收器。在应用程序关闭时,此广播接收器是自动注销还是必须手动注销?如果我们不手动注销它,它会导致内存泄漏吗?清单中声明的AndroidBroadcastReceiver不会自动注销。即使应用程序未运行(这也是预期的行为),也会触发这些事件。当触发BroadcastReceiver时,调用onReceive回调方法。广播仅在执行onReceive方法期间有效。返回方法后,接收器将被视为不活动。因此,如果您想声明一个始终可以触发的BroadcastReceiver(即使应用程

我一直在通过舱单注册广播接收器。在应用程序关闭时,此广播接收器是自动注销还是必须手动注销?如果我们不手动注销它,它会导致内存泄漏吗?

清单中声明的Android
BroadcastReceiver
不会自动注销。即使应用程序未运行(这也是预期的行为),也会触发这些事件。当触发
BroadcastReceiver
时,调用
onReceive
回调方法。广播仅在执行
onReceive
方法期间有效。返回方法后,接收器将被视为不活动。因此,如果您想声明一个始终可以触发的
BroadcastReceiver
(即使应用程序未运行),您可以在清单中声明它。你不必担心它的生命周期

但是,如果要声明仅在一定时间内(例如,当应用程序正在运行或某个活动正在运行时)才会接收广播的广播,则最好在需要时注册广播,并在工作完成时注销广播。例如,如果希望仅在活动正在运行时接收广播,则可以在
onCreate
方法中注册,并在
onDestroy
方法中取消注册