首先不了解MVP模式的孩纸先去看一下MVP再阅读本博客喽。
使用MVP模式的主要作用,是它解决了业务逻辑和数据存取的紧耦合,使Presenter作为view和model的中间人,降低了数据和view的耦合度。所以MVP有很多有点:利于维护、易于测试、松耦合、复用性高,易于扩展。但由于presenter中经常进行一些耗时操作,例如网络请求,但是presenter持有了Activity的强引用,如果在请求结束之前,Activity被销毁,那么会导致presenter一直持有Activity的引用,使得Activity无法被回收,而发生内存泄漏。
解决方法:
- 通过弱引用和Activity、Fragment的生命周期来解决。
外插一句:大神的android调试大全
Android调试大全