您好,登錄后才能下訂單哦!
ANR 問題?
ANR 可以在Data/anr/traces.text 文件中。
ANR 是主線程耗時超做5s以上,或者是在發送廣播是時間過長時,出現的提示框。
解決問題 可以在子線程中執行耗時超做,但是不建議在廣播接收者中創建子線程。廣播一般發送10s,結束。
在子線程中執行耗時超做,并且UI更新就會出現FC,就要進行,不同線程間的通訊,可以用handler
在創建UI的線程中重寫
耗時超做在 new Thread
UI創建線程可以 new Handler 從寫handleMessage()耗時超做的線程就可以發送消息到你要的線程。
除此還可以在主線程耗時超做不出現ANR的幾個方法:
除此外還有一個異步任務
中間參數是 你在doInBackground 在耗時是發送消息的類型,
doInBackground發送消息
啟動異步任務還可以自定義自己的線程池
如果沒有系統的默認5個線程,等待的10個而我們可以通過
自定義消息隊列
用系統的線程
自己用handlerTread
系統的intentservece
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。