现在的网络请求框架很多也很完善,但是使用中不注意还是会有内存泄漏的现象。为了避免内存泄漏,大概有两种方式:
- 1.在Activity结束时取消请求
- 2.在异步回调的时候,通过Activity.isFinishing()方法判断Activity是否已经被销毁
但是最近在工作中,发现一个问题:同一个请求,会在多个页面被调用到,这就导致相同的代码包括发送请求,成功或失败回调,数据解析等会出现好几处。
如果我想把这个网络请求单独抽离出来,放到一个类里,不依赖具体的Activity,现在的网络框架回调一般都会运行在主线程,如果未及时释放资源,很容易造成内存泄漏。