比如,AsynaTask生命周期就需要考虑,与Activity生命周期不一致。
学习是最好的投资!
Activity销毁时,需要取消掉网络请求,如,Volley一般在onStop()调用VolleyRequest.cancelPendingRequests(tagName);
其他的不清楚, 就Volley而言是不会取消网络请求的, 即使你使用了cancel方法, 也不会停止网络请求, 使用了cancel方法只是不进行回调, 实际上网络请求是后台线程, 还有超时限制, 所以网络请求即使不停止影响也不是很大. 关键是不能再生命周期结束后回调方法, 所以在Activity等结束的时候要cancel掉请求
Volley
Activity
网络请求是新开线程,一般情况下主线程销毁了影响不大,关键是网络线程的回调,我们一般是在主线程里面做一些事情,但是此时主线程已经销毁了。所以我们还要手动处理cancel。
一般情况下,Retrofit 在Activity销毁之后,任务还是会继续,我们这边只能选择是否接收回调
很明显,你需要自己取消
Activity销毁时,需要取消掉网络请求,如,Volley一般在onStop()调用VolleyRequest.cancelPendingRequests(tagName);
其他的不清楚, 就
Volley
而言是不会取消网络请求的, 即使你使用了cancel方法, 也不会停止网络请求, 使用了cancel方法只是不进行回调, 实际上网络请求是后台线程, 还有超时限制, 所以网络请求即使不停止影响也不是很大. 关键是不能再生命周期结束后回调方法, 所以在Activity
等结束的时候要cancel掉请求网络请求是新开线程,一般情况下主线程销毁了影响不大,关键是网络线程的回调,我们一般是在主线程里面做一些事情,但是此时主线程已经销毁了。所以我们还要手动处理cancel。
一般情况下,Retrofit 在Activity销毁之后,任务还是会继续,我们这边只能选择是否接收回调
很明显,你需要自己取消