0

しばらく市場に出回っていたAndroidアプリを今オーバーホールしています。新しい One x をテスト用に使用していますが、奇妙なことに気付きました...

  1. 電話で実行すると、ホームボタンをクリックしてアプリがバックグラウンドになり、onPause などにある通常のプリントアウトが表示されます。onDestroy は呼び出されないため、プロセスがまだ実行されていると見なされます。

  2. ただし、設定/アプリ/実行に移動すると、リストされていません!! 「実行中」画面にいる限り、Androidログに数秒ごとに繰り返し出力されること:

    06-20 15:04:42.435: INFO/RunningState(16694): 不明な非サービス プロセス: XXX #16558

  3. 次に、アプリのアイコンをもう一度クリックすると、アプリが開始されていないかのようにライフサイクル メソッドが呼び出されます。つまり、onCreate、onResume などが再度呼び出されます!!

これがなぜなのかわかりません.Galaxy2やNoteでは発生しませんが、試したところ、「予想される」ライフサイクルコールが発生しました.

誰か何か考えはありますか?私には電話で何かが壊れているように見えますが、私はただの男であり、他のレポートを見つけていないので、どうしてそうなるのか理解できません...

編集:HTC Legendでも同じコードをテストしましたが、問題はありません...

4

2 に答える 2

2

アクティビティを終了/終了するときに onDestroy が呼び出されるという保証はありません。

http://developer.android.com/reference/android/app/Activity.html#onDestroy()から

システムがこのメソッド (または他のメソッド) を呼び出さずにアクティビティのホスティング プロセスを単純に強制終了する状況があるため、プロセスがなくなった後も残り続けることを意図したことを行うために使用しないでください。

SOのこのスレッドも参照してください

アクティビティ OnDestroy が呼び出されたことはありませんか?

于 2012-06-20T21:55:46.107 に答える
1

Android ICS には、開発者向けの新しい設定がいくつかあります。その中には、「アクティビティを保持しない」があります。デフォルトではクリアされていますが、デバイスが別の方法で構成されている可能性があります。このチェックボックスのオン/オフを切り替えて、アクティビティのライフサイクルで何が起こるかを確認してください。

于 2012-06-20T22:05:43.517 に答える