使用HttpURLConnection發送請求獲取回傳資料,網路連接請求超時會發生閃退,
可能的原因有兩種
- 回傳的網路連接為空,后續通過該連接呼叫獲取回傳碼或者獲取回傳資料等方法時會發生空指標錯誤造成程式閃退,
- 用戶連續請求用戶導致等待訪問的執行緒積累很多,如果十秒等不到反應,系統會認定該APP行程是僵尸行程,直接干掉也會導致閃退,
解決方法
寫一個聯網工具封裝聯網的操作,在這個操作中捕獲超時例外,如果捕獲到了提示用戶網路超時,不要頻繁請求,
當然如果用戶硬要頻繁請求,也沒關系,關閉連接后回傳一個空值,在訪問網路子執行緒中判斷,如果為空直接回傳不再繼續執行代碼,關閉執行緒,
訪問網路工具類的方法中捕獲例外:

在訪問網路子執行緒中呼叫了網路工具類中的發送請求的方法,如果回傳的conn為空,直接回傳,關閉子執行緒,

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/393972.html
標籤:其他
