2012-08-24 45 views
0

任何一个可以让我知道什么是做当存在未完成10秒广播接收器无响应

+0

那么你对条件有点模糊,因为它运行了10多秒,我会重新编写代码。为什么您的BroadcastReceiver需要运行这么久?如果你正在下载数据,你应该从主线程中移除... – Sam

回答

0

山姆是正确内执行一个BroadcastReceiver的最佳实践。所有长时间的处理都不能在UI(主)线程上完成。例如,使用AsyncTask

+0

我在我的应用程序中使用Airpush,它有一个广播接收器。我注意到,我的应用程序的无响应来自airpush的整合后,但同时人们正在使用它来完善这意味着我的代码中有错误。我继续广播,并且在实例中它显示ANR对话框,即使应用程序关闭并且用户正在做其他事情 –

+1

我无法帮助您使用Airpush - 我不使用它。但我会试着看日志,或者如果你能重现错误,请尝试去调试它。哪些线程正在进行什么处理... 如果处理不正确,也可以在UI线程上进行长处理。同样在我的手机上,我可以将应用程序转换为严格模式,以便在UI线程上进行一些处理时屏幕闪烁。 – pcu