在android4.0以後,會發現,只要是寫在主線程(就是activity)中的http請求,執行時都會報錯,這是因為android在4.0以後為了防止應用的anr(aplicationnot response)異常。(其實之前的api中已經表明不建議使用這種方式)
在如下情況下,android會報出anr錯誤:
– 主線程 (「事件處理執行緒」 / 「ui執行緒」) 在5秒內沒有響應輸入事件
– broadcastreceiver 沒有在10秒內完成返回
通常情況下,下面這些做法會導致anr
1、在主線程內進行網路操作
2、在主線程內進行一些緩慢的磁碟操作(例如執行沒有優化過的sql查詢)
解決辦法
1. new出乙個新的執行緒,進行資料請求
2. 獲取資料後,呼叫handler.sendmessage方法
3. 在handler的handle()方法中更新ui
Android4 0不能在主線程中進行HTTP請求
在android4.0以後,會發現,只要是寫在主線程 就是activity 中的http請求,執行時都會報錯,這是因為android在4.0以後為了防止應用的anr aplication not response 異常。就針對此問題有兩種解決的方法 1.可以再activity的oncreate 方法...
Android4 0不能在主線程中進行HTTP請求
在android4.0以後,會發現,只要是寫在主線程 就是activity 中的http請求,執行時都會報錯,這是因為android在4.0以後為了防止應用的anr aplicationnot response 異常,即使這裡表達不是很清晰,大家應該都明白吧,哈哈 就針對此問題有兩種解決的方法 1....
Android中非UI主線程能不能操作UI?
問題 android只能在ui執行緒更新ui 麼?答 對!嗯?不對?我腦子裡的的回答是 對 但是辯證思維又在提醒我可能有陷阱,於是我就說 大部分情況是的 那麼小部分情況呢?具體說不上來了!於是才發現這個問題一直被忽略了。於是試驗檢驗真理,擼 驗證了一遍。new thread start 奔潰資訊 問...