1

我只想问,调试器什么时候断开连接?

我正在设备上调试我的应用程序,当我进入后台并等待一段时间(大约 2 到 5 分钟)时,我的应用程序正在断开连接,我想处理这种情况,因为当我返回时它会使我的应用程序崩溃应用程序。

谢谢!

4

2 回答 2

3

嗨,伙计们,我知道这有点晚了,但对于其他在这里搜索的人来说,你必须做什么:

继续您的设备 -> 设置 -> 开发人员选项 -> 选择调试应用程序 -> 打开“等待调试器”

在此处输入图像描述

现在在 Android Studio 上以调试模式运行应用程序,关闭它并等待进程关闭(导致它与调试器分离)并从最近的抽屉中重新打开它。您将在设备上收到一条等待调试器消息。

继续 Android Studio 并按下附加调试器到进程按钮在此处输入图像描述,选择进程并完成:D

于 2016-09-28T09:40:45.980 回答
0

这样的事情我也经历过。就我而言,每次系统在停止一段时间后(即在后台)破坏应用程序时,调试器都会断开连接。当系统需要更多内存/资源用于前台应用程序或您的应用程序停止时间过长时,会发生这种情况,参见。http://developer.android.com/training/basics/activity-lifecycle/recreating.html

我发现调试它的最好方法是添加 Log.d() 日志记录(http://developer.android.com/reference/android/util/Log.html#d(java.lang.String, java.lang .String ). 在我开始记录所有生命周期事件后,我发现在我的情况下发生了以下情况:

  • 我切换到不同的前台应用程序,导致我的应用程序以停止状态进入后台
  • 暂停()
  • 停止()
  • 调试器断开连接(通常在几分钟后,如果使用内存密集型前台应用程序则更快)。请注意,onDestroy() 不会在此处被调用,但活动确实会被破坏。
  • 我重新启动我的应用程序,调试器不再附加
  • onCreate() - 系统尝试使用 savedInstanceState 重新创建活动
  • 开始()
  • onResume()

因为系统是破坏活动的系统,所以当它重新创建活动时,它会尝试恢复所有视图的状态。如果您需要保存额外的信息,请务必覆盖在 Activity 销毁之前调用的 onSaveInstanceState() 方法,然后通过访问 Activity 的 onCreate() 方法中的 savedInstanceState Bundle 来恢复保存的信息。

希望有帮助。

于 2013-11-10T20:28:22.467 回答