2013-05-21 117 views
1

我只想問,調試器何時斷開連接?調試器何時斷開連接?

我在設備上調試我的應用程序,當我轉到後臺並等待一段時間(大約2到5分鐘)時,我的應用程序正在斷開連接,我想處理這種情況,因爲它使我的應用程序崩潰時我回到應用程序。

謝謝!

回答

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)。之後,我開始記錄所有的生命週期事件,我發現,在我的情況下面發生了什麼:

  • 我切換到不同的前臺應用程序,導致我的應用程序在後臺進入停止狀態
  • onPause()
  • onStop()
  • 調試程序斷開連接(通常在幾分鐘後,如果使用內存密集的前臺應用程序,則會更快)。請注意,onDestroy()不會在這裏被調用,但活動確實會被銷燬。
  • 我重新啓動我的應用程序,調試器不再連接
  • 的onCreate() - 系統將嘗試使用savedInstanceState
  • 在onStart()
  • 的onResume()來重新創建活動

因爲系統是摧毀活動的系統,所以當它重新創建活動時,它會嘗試恢復所有視圖的狀態。如果您需要保存更多信息,請確保覆蓋在活動被銷燬之前調用的onSaveInstanceState()方法,然後通過訪問Activity的onCreate()方法中的savedInstanceState Bundle來恢復保存的信息。

希望有所幫助。

2

嗨,大家好我晚,但對於其他人搜索在這裏你必須做的事情知道它一點: - >設置 -

轉到您的設備上>開發者選項 - >選擇調試應用程序 - >打開「等待對於調試器」

enter image description here

現在在Android Studio中運行在調試模式下的應用程序,關閉它,等待關閉該程序(導致它從調試器分離),並從最近抽屜打開它。您將在設備上等待調試器消息。

繼續在Android Studio上按附加調試器處理按鈕enter image description here,選擇過程並完成:D

相關問題