在调试时禁用ANR消息

58

当调试应用程序并停在断点时,Android 会重复显示“<应用程序>未响应。您是否要关闭它?”对话框,其中包括“等待”和“确定”选项。有没有办法在调试应用程序时禁用这些对话框?


1
这仍然是一个问题,其他问题的年龄更长,它们的答案实际上解释了如何获得我们现在想要超越的行为水平。我需要时间来分析调试信息。在断点时,应用程序不应该被终止。 - Nick Cardoso
现在这还是个事吗? - rexxar
我注意到这只是一两天前。 - spaaarky21
我无法在Android 11上重现它。 - Dissident Dev
4个回答

20
开发者选项中向下滚动至调试部分,然后在"选择调试应用程序"中选择您的应用程序。这样,当在断点处暂停时,它就不会触发任何ANR。
即使删除/重新安装您的应用程序,设置值也将被记住。
请注意,根据您的API级别,此选项可能不可用。

enter image description here


1
谢谢。这是在调试过程中解决ANR问题的完美解决方案。 - Vinayak Khedkar

0

当应用程序停在断点处时

系统认为发生了ANR

但实际上你只是在等待断点

系统不知道这一点

对话框由系统显示

如果不考虑调试,就不需要弹出ANR

我认为除非你修改系统源代码,否则要考虑这一点

希望我能帮到你 : )


-1

当应用程序发生以下情况之一时,将触发ANR:

  • 当您的活动在前台时,您的应用程序未在5秒内响应输入事件或广播接收器(例如按键或屏幕触摸事件)。
  • 当您没有前台活动时,您的广播接收器在相当长的时间内未完成执行。

我不确定您的情况是什么,但在调试时不要与应用程序交互(例如点击按钮、在屏幕上切换),然后应用程序将等待调试器。


-3
如果您的应用程序在不停留在断点时显示该消息,则主线程上的计算量肯定过多,您应该将复杂的计算从主线程中移除并将它们移到后台线程中。

这个问题特别涉及到在Android停在断点时显示消息的问题。 - spaaarky21

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接