Java 如果我们不';t注销广播接收器?
假设我在Java 如果我们不';t注销广播接收器?,java,android,Java,Android,假设我在onCreate()中动态注册一个BroadcastReceiver,它是活动的内部类 现在假设调用了finish(),一段时间后,应用程序再次打开。是否会使用新的接收器对象?考虑到具有相同意图筛选器的旧接收器对象可能仍在内存中…如果忘记注销接收器内部活动类,Android系统会报告泄漏的广播接收器错误 但是,如果BroadcastReceiver是由服务动态注册的,那么如果您确保在服务被销毁时将其注销,则不会泄漏。重新启动服务后(被系统终止后),它将再次尝试更新。当此更新失败时,您将再
onCreate()
中动态注册一个BroadcastReceiver,它是活动的内部类
现在假设调用了
finish()
,一段时间后,应用程序再次打开。是否会使用新的接收器对象?考虑到具有相同意图筛选器的旧接收器对象可能仍在内存中…如果忘记注销接收器内部活动类,Android系统会报告泄漏的广播接收器错误
但是,如果BroadcastReceiver是由服务动态注册的,那么如果您确保在服务被销毁时将其注销,则不会泄漏。重新启动服务后(被系统终止后),它将再次尝试更新。当此更新失败时,您将再次注册BroadcastReceiver以侦听连接更改 如果您的活动在未注销的情况下完成,它将泄漏接收器,并且您将在日志中收到一条令人讨厌的消息。如果您再次启动活动,接收器将是一个新的、不同的实例。@MikeM.泄漏的接收器是否会接收广播?