Android 在调试时没有响应。如果不在调试应用程序中,则可以正常工作

问题描述 投票:0回答:2

当我调试时,应用程序遇到断点,我可以正常调试一段时间。一段时间后,Android显示ANR对话框,但我仍然可以正常调试。

如果我不点击手机屏幕,调试就会结束,所以调试时我需要一直盯着屏幕,这很烦人,而且真的浪费我的时间,因为有时对话框会每 10 秒弹出一次。

我不知道是什么原因造成的。我尝试重新启动机器、电话、ADB,并且已经尝试在 AndroidManifest 上使用 debuggable="true",但没有成功。

android debugging breakpoints android-anr-dialog
2个回答
2
投票

看起来问题出在后台运行的服务上。

我的服务每 5 分钟执行一次后台任务,因此如果断点“暂停”主线程,服务会尝试运行并显示“无响应”弹出窗口。十秒钟后,如果我们仍然处于断点处,系统会一遍又一遍地显示烦人的弹出窗口。

需要说明的是,我的服务没有问题,看起来是 IntelliJ IDEA 调试的方式。当我需要调试一些大的东西时,我禁用了调试服务,并且弹出窗口没有出现。

我不知道是否有办法让 IDE 意识到它没有响应,因为我们正在调试主线程,因为这应该是正确的解决方案。


0
投票

对于那些偶然发现这个问题寻找解决方案的人来说,@FedeH 的评论为我做到了:

您可以在开发者选项下选择您的应用程序作为调试应用程序。这可能有助于减少不需要的系统警报。

© www.soinside.com 2019 - 2024. All rights reserved.