1

デバッガーが切断されるのはいつですか?

デバイスでアプリをデバッグしています。バックグラウンドに戻ってしばらく待つと (約 2 ~ 5 分)、アプリが切断されます。アプリ。

ありがとう!

4

2 に答える 2

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() メソッドを必ずオーバーライドしてから、アクティビティの onCreate() メソッドで savedInstanceState バンドルにアクセスして、保存された情報を復元してください。

それが役立つことを願っています。

于 2013-11-10T20:28:22.467 に答える