比如,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銷毀之後,任務還是會繼續,我們這邊只能選擇是否接收回調
很明顯,你需要自己取消