2012-08-24 99 views
0

任何一個可以讓我知道什麼是做當存在未完成10秒廣播接收器無響應

+0

那麼你對條件有點模糊,因爲它運行了10多秒,我會重新編寫代碼。爲什麼您的BroadcastReceiver需要運行這麼久?如果你正在下載數據,你應該從主線程中移除... – Sam

回答

0

山姆是正確內執行一個BroadcastReceiver的最佳實踐。所有長時間的處理都不能在UI(主)線程上完成。例如,使用AsyncTask

+0

我在我的應用程序中使用Airpush,它有一個廣播接收器。我注意到,我的應用程序的無響應來自airpush的整合後,但同時人們正在使用它來完善這意味着我的代碼中有錯誤。我繼續廣播,並且在實例中它顯示ANR對話框,即使應用程序關閉並且用戶正在做其他事情 –

+1

我無法幫助您使用Airpush - 我不使用它。但我會試着看日誌,或者如果你能重現錯誤,請嘗試去調試它。哪些線程正在進行什麼處理... 如果處理不正確,也可以在UI線程上進行長處理。同樣在我的手機上,我可以將應用程序轉換爲嚴格模式,以便在UI線程上進行一些處理時屏幕閃爍。 – pcu