如何取消retrofit的网络请求

来源:5-3 Restful请求的处理-1

宝贝微笑

2019-08-08

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

写回答

1回答

慕斯卡2268586

2019-08-14

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


// 1. 新建 CompositeDisposable  对象

CompositeDisposable mCompositeDisposable = new CompositeDisposable();

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

mCompositeDisposable.add(disposable)

// 3. 在 onDestroy 时 clear 所有

mCompositeDisposable.clear()



0
0

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程