ANR用于广播Intents的活动

时间:2011-07-03 08:29:39

标签: android

我一直收到这个错误。任何人都可以告诉我它是什么意思或我如何解决它? 感谢

07-03 08:27:13.615:ERROR / ActivityManager(61):com.fttech.books中的ANR

07-03 08:27:13.615:错误/ ActivityManager(61):原因:意图广播{act = android.intent.action.TIME_TICK flg = 0x40000004(有附加内容)}

2 个答案:

答案 0 :(得分:15)

ANR代表“应用程序无响应”。此消息表示您的应用程序不再响应用户。通常,如果UI线程被超过5秒的操作阻止,则抛出此异常。 Here are some information on this topic

  

Android应用程序通常完全在单个(即主要)线程上运行。这意味着您的应用程序在主线程中执行的任何操作都需要很长时间才能完成,因为您的应用程序没有给自己处理输入事件或Intent广播的机会。

因此,如果您在UI线程上执行任何长时间运行操作,请检查您的代码。

答案 1 :(得分:1)

Flo完全正确地解释了这个问题。
在我的情况下,在 onReceive()方法中设置一些断点并尝试使用Intent启动Activity会导致调试被破坏。我完全可以重现这个问题。

解决方案是禁用所有断点并在新Activity的开头设置它们,或者如果需要调试 onReceive(),请记录 Log() 功能。
代码中可能还有其他错误可能会破坏调试。