如果调试时安卓系统无响应,如果不在调试模式下应用程序正常工作

4
当我调试应用程序时,如果出现断点,我可以正常进行调试一段时间。但是过了一会儿,安卓显示 ANR 对话框,但我仍然可以正常调试。
如果我不点击手机屏幕,它就会结束调试,因此我需要在调试时密切关注屏幕,这很烦人,也浪费了我的时间,因为有时每十秒钟对话框就会弹出一次。
我不知道是什么原因导致的。我尝试重新启动机器、手机、ADB,并已经尝试在 AndroidManifest 中使用 debuggable="true",但都没有成功。

我想补充一下,我也遇到了同样的问题,但我甚至没有看到ANR对话框,它就直接退出了。 - Ritave
如果没有出现ANR,我认为问题不同。因为在我的情况下,它只会在调试时和我在答案中提到的服务运行时出现。 - Felipe Andrade
1个回答

2
看起来问题出在后台运行的服务上。
我的服务每5分钟执行一次后台任务,因此如果断点“暂停”主线程,服务会尝试运行并显示“未响应”弹窗。十秒钟后,如果我们仍处于断点状态,系统就会一次又一次地显示那个让人烦恼的弹窗。
需要明确的是,我的服务没有问题,看起来是IntelliJ IDEA调试的方式有问题。当我需要调试大型程序时,我会禁用服务进行调试,这样弹窗就不会出现了。
我不知道是否有办法让IDE意识到它没有响应是因为我们正在调试主线程,因为这应该是正确的解决方案。

1
如此解释:在这里https://stackoverflow.com/a/69585891/2025766,您可以在开发者选项下选择您的应用作为调试应用。这可能有助于减少不必要的系统警报。 - undefined

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