老师,有个关于mvp架构网络请求的问题
来源:11-1 如何解答系统设计类问题?-1

菲迪亚斯
2019-09-08
前几天面试,被问到如果项目里用了mvp框架,在M层处理网络请求还没结束的时候,将这个页面关闭了,但是这时候Activity还被持有引用,会导致内存泄漏,那么该怎么处理?
想了好久也没想出来,老师能指点一下吗?
写回答
2回答
-
还有一个问题就是,m要能支持好取消操作,在取消后一定要做好资源释放之类的工作下取消才有效。如若不然,那就是m层的bug。
112019-09-08 -
bennyhuo
2019-09-08
这时候通常的做法就是,如果页面销毁,那么未返回的网络请求就要做取消,也就是说view销毁了,跟view绑定的p也应当销毁,同时将m中发起的请求取消,这时候通常就不会存在泄露问题了。这是一个比较正常或者应当处理好的操作。
当然,面试的时候也可以提下弱引用的事儿,不过我觉得弱引用的情况是不知道什么时候被释放,所以对于这个场景来说可以避免泄露,但没有用的必要。
10
相似问题