假设我动态注册 BroadcastReceiver ,它是onCreate()
中活动的内部类,并且不会在代码中的任何位置取消注册。
现在假设finish()
被调用,一段时间后,应用程序再次打开。是否会使用新的接收器对象?考虑到具有相同意图过滤器的旧接收器对象可能仍在内存中......
答案 0 :(得分:0)
如果您忘记取消注册接收者内部活动类,则Android系统会报告泄露的广播接收器错误。
但是如果BroadcastReceiver是由服务动态注册的,那么如果确保在销毁服务时未注册它,则不会泄露。重新启动服务后(在被系统杀死之后),它将再次尝试更新。当此更新失败时,您将再次注册BroadcastReceiver以侦听连接更改。