像volley、okhttp、retrofit这样的网络请求框架,当Activity销毁时,他们网络
生活随笔
收集整理的這篇文章主要介紹了
像volley、okhttp、retrofit这样的网络请求框架,当Activity销毁时,他们网络
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一般情況下,Retrofit 在Activity銷毀之后,任務(wù)還是會繼續(xù),我們這邊只能選擇是否接收回調(diào)
其他的不清楚, 就Volley而言是不會取消網(wǎng)絡(luò)請求的, 即使你使用了cancel方法, 也不會停止網(wǎng)絡(luò)請求, 使用了cancel方法只是不進(jìn)行回調(diào), 實(shí)際上網(wǎng)絡(luò)請求是后臺線程, 還有超時(shí)限制, 所以網(wǎng)絡(luò)請求即使不停止影響也不是很大. 關(guān)鍵是不能再生命周期結(jié)束后回調(diào)方法, 所以在Activity等結(jié)束的時(shí)候要cancel掉請求
網(wǎng)絡(luò)請求是新開線程,一般情況下主線程銷毀了影響不大,關(guān)鍵是網(wǎng)絡(luò)線程的回調(diào),我們一般是在主線程里面做一些事情,但是此時(shí)主線程已經(jīng)銷毀了。所以我們還要手動(dòng)處理cancel。
很明顯,你需要自己取消
Activity銷毀時(shí),需要取消掉網(wǎng)絡(luò)請求,如,Volley一般在onStop()調(diào)用VolleyRequest.cancelPendingRequests(tagName);
其他的不清楚, 就Volley而言是不會取消網(wǎng)絡(luò)請求的, 即使你使用了cancel方法, 也不會停止網(wǎng)絡(luò)請求, 使用了cancel方法只是不進(jìn)行回調(diào), 實(shí)際上網(wǎng)絡(luò)請求是后臺線程, 還有超時(shí)限制, 所以網(wǎng)絡(luò)請求即使不停止影響也不是很大. 關(guān)鍵是不能再生命周期結(jié)束后回調(diào)方法, 所以在Activity等結(jié)束的時(shí)候要cancel掉請求
網(wǎng)絡(luò)請求是新開線程,一般情況下主線程銷毀了影響不大,關(guān)鍵是網(wǎng)絡(luò)線程的回調(diào),我們一般是在主線程里面做一些事情,但是此時(shí)主線程已經(jīng)銷毀了。所以我們還要手動(dòng)處理cancel。
很明顯,你需要自己取消
Activity銷毀時(shí),需要取消掉網(wǎng)絡(luò)請求,如,Volley一般在onStop()調(diào)用VolleyRequest.cancelPendingRequests(tagName);
總結(jié)
以上是生活随笔為你收集整理的像volley、okhttp、retrofit这样的网络请求框架,当Activity销毁时,他们网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脆炸虾仁的做法?
- 下一篇: 崂山可以带宠物狗去吗?