请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何取消retrofit的网络请求

老师,用课程中的retrofit封装框架如何取消这次的网络请求,在APP中有时候一个activity中请求了接口数据,速度比较慢这时候退出activity,退出后上个activity的数据回来了但是界面已经销毁,这样就会造成崩溃,如何在退出界面的时候把这个界面中的请求全部取消,不再接受请求的数据

正在回答 回答被采纳积分+3

插入代码

1回答

慕斯卡2268586 2019-08-14 16:35:39

一般来说 retrofit 最好搭配 Rxjava 来使用,而 Rxjava 中的 CompositeDisposable 可以对所有请求进行管理,在 activity 销毁之前取消这个队列中的所有请求就行了


// 1. 新建 CompositeDisposable  对象

CompositeDisposable mCompositeDisposable = new CompositeDisposable();

//2. retrofit 请求的时候会返回一个 Disposable 对象,添加到队列中

mCompositeDisposable.add(disposable)

// 3. 在 onDestroy 时 clear 所有

mCompositeDisposable.clear()



0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号