我定义了一个BatteryInfo extends BroadcastReceiver
类。我在我的Activity onCreate()
. 我Activity.registerReceiver
在我的onCreate()
.
我试图弄清楚我是否需要注销它和/或设置它的引用以null
允许我的 Activity 死掉而不会泄漏内存或阻塞系统中的意图发送者,或者系统是否优雅地抛出与此相关的所有内容它自己的。为此,我正在思考我读到 的BroadcastReceiver 生命周期:
BroadcastReceiver 对象仅在调用 onReceive(Context, Intent) 期间有效。一旦您的代码从此函数返回,系统就会认为该对象已完成且不再处于活动状态。”
这是什么意思?显然,我创建new BatteryInfo()
和注册的对象在registerReceiver()
我的活动持续的整个过程中都会持续存在。我记录了它的结果并一直看到它们。显然它在第一次onReceive()
被调用后并没有失效。
我想知道这部分文档是否可能仅适用BroadcastReceivers
于在AndroidManifest
? BroadcastReceivers
并且动态创建和注册 是完全不正确或无关的吗?
当然,我想知道什么是我的动态接收器的正确清理和干扰。