Closed yaming116 closed 4 years ago
我觉得你就算加了也没用,假如onDestroy没执行,你现在调用unregister 取消注册的是另一个函数,而这个函数并没有之前注册过,所以不会生效。不信你打个log看看
Sent with GitHawk
确实是无效的,我的疏忽,今天查看了具体的安卓源码发现问题主要原因是在service销毁的时候系统在处理资源回收发现有广播泄漏,然后打印日志并进行主动回收,但是在严格模式下会产生崩溃,具体代码在这里 https://android.googlesource.com/platform/frameworks/base/+/742a67127366c376fdf188ff99ba30b27d3bf90c/core/java/android/app/LoadedApk.java
service 的onDestory不能保证一定为调用,所以注册广播需要手动先注销一次 https://stackoverflow.com/questions/7236782/is-an-android-service-guaranteed-to-call-ondestroy