Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果我们不';t注销广播接收器?_Java_Android - Fatal编程技术网

Java 如果我们不';t注销广播接收器?

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

假设我在
onCreate()
中动态注册一个BroadcastReceiver,它是活动的内部类


现在假设调用了
finish()
,一段时间后,应用程序再次打开。是否会使用新的接收器对象?考虑到具有相同意图筛选器的旧接收器对象可能仍在内存中…

如果忘记注销接收器内部活动类,Android系统会报告泄漏的广播接收器错误


但是,如果BroadcastReceiver是由服务动态注册的,那么如果您确保在服务被销毁时将其注销,则不会泄漏。重新启动服务后(被系统终止后),它将再次尝试更新。当此更新失败时,您将再次注册BroadcastReceiver以侦听连接更改

如果您的活动在未注销的情况下完成,它将泄漏接收器,并且您将在日志中收到一条令人讨厌的消息。如果您再次启动活动,接收器将是一个新的、不同的实例。@MikeM.泄漏的接收器是否会接收广播?