由于项目中有大量的回调,就使用EventBus.结果出现了一个BUG。
至于具体的用法我就不介绍了,下面主要介绍使用EventBus时遇到的Bug.
我在使用Activity + fragment 的时候,发现在页面多次返回之后,应用崩溃。
查看log日志,提示:
“IllegalStateException: Activity has been destroyed” in fragment trasaction
就去百度 “Activity has been destroyed”,搜索结果很多,但是都没有效果。
把问题说给同事听后,有人说可能内存泄漏,导致内存不足,
Activity就被销毁了。
然后检查,发现 EventBus 忘了 unregister();
在代码中加了 EventBus.getDefault().unregister(this) 之后,BUG消失;
本文分享了一位开发者在使用EventBus过程中遇到的Activity被销毁的Bug及解决方案。该问题表现为在频繁页面跳转后应用崩溃,通过检查发现未正确取消订阅导致内存泄漏。文章最后给出了正确的注销代码。
2848

被折叠的 条评论
为什么被折叠?



