android - 如果我不 UnregisterReceiver 怎么办

标签 android broadcastreceiver android-powermanager

如果我不注销接收器会怎样?它会减慢我的应用程序速度或导致应用程序崩溃或引发某种异常吗?我需要这个接收器一直注册,即使应用程序已关闭:

this.registerReceiver(broadcastReceiver, new IntentFilter(
             PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED));

最佳答案

这取决于:

如果在 Activity(通过 list )中注册时您不这样做,Android 操作系统将报告泄漏广播服务错误

但是如果 BroadcastReceiver 是由服务动态注册的,如果您确保它在服务被销毁时未注册,它就不会被泄露。

如果它被系统杀死并且您再次注册它,它将更新之前的

关于android - 如果我不 UnregisterReceiver 怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46261278/

相关文章:

android - 检测是否支持 unicode 字符?

android - Github Action : Build-tool 33. 0.0 缺少 DX 在/usr/local/lib/android/sdk/build-tools/33.0.0/dx

Android BroadcastReceiver 生命周期 : documentation wrong for dynamically registered receiver?

Android:如何更准确地获取电池电量状态?

android - 重启后防止 USB_DEVICE_ATTACHED 启动应用程序

android - 单击设置为 false [setOutsideTouchable(false)] 外的弹出窗口不起作用

android - 如何以编程方式添加放大缩小?

android - 在 android 中使用 BroadcastReceiver 有什么好处?

android - BroadcastReceiver onReceive超时