调试器什么时候断开连接?

时间:2013-05-21 13:52:21

标签: android android-debug

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

我正在设备上调试我的应用程序,当我去后台等待一段时间(大约2到5分钟)时,我的应用程序正在断开连接,我想处理这个案例,因为它让我的应用程序崩溃了回到应用程序。

谢谢!

2 个答案:

答案 0 :(得分:2)

嗨,大家好,我知道它有点晚了但是对于其他所有在这里搜索你要做的事情:

继续使用您的设备 - >设置 - >开发者选项 - >选择调试应用程序 - >打开'等待调试器'

enter image description here

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

转到Android Studio并按附加调试程序处理按钮enter image description here,选择流程并完成:D

答案 1 :(得分:0)

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

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

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

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

希望有所帮助。