MVP的缺点及改进策略
2019-07-31 本文已影响0人
九号锅炉
问题1.每个View都需要对应一个Presenter,导致类太多
解决策略1:抽取基类BaseView和BasePresenter,相同功能的presenter实现代码复用。
同时可以用泛型BaseView<P extends BasePresenter> 和BasePresenter<V extends BaseView>
问题2:View持有presenter的引用,presenter持有Model的引用,Model如果在执行耗时操作时用户关闭应用,就会导致内存泄漏
解决策略:在Activity的ondestroy中调用presenter.onDetach(),释放presenter对activity的引用。