我正在实施MVPAndroid 中的模式,我正在使用EventBus让知道P从活动“A”重新输入活动“B”发生的事情以更新“A”的视图。
我在构造函数中将演示者注册到 EventBus 内部,但我没有看到任何可以取消注册它的地方。
public class PresenterA extends nucleus.presenter.Presenter<ViewA> {
public PresenterA() {
EventBus.getDefault().register(this);
}
public void onEvent(ChangesEvent e) {
// change views
}
}
- 当演示者的生命周期与应用程序一样长(在配置更改时不会重新创建)时,是否有必要完全取消注册?
- 当用户离开应用程序(关闭活动“A”)时,引用将被释放还是内存泄漏?
- 注销很重要,当用户离开应用程序时,并不意味着资源会立即被清理
- 由于 EventBus 持有对 Presenter 的静态引用,因此直到操作系统终止进程后才会释放它,因此被视为泄漏。
As for nucleus.presenter.Presenter
注册将很常见onTakeView(ViewType view)
并取消注册onDropView()
因为事件处理改变了视图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)