2010-11-26 7 views
3

私はAndroidアプリケーションで作業しています。私たちの問題は、ユーザーが私たちのアプリを起動したり、自宅や戻るボタンを使ってナビゲートしたり、後で復帰したときに現れます。 Android activity lifecycle documentationとエリック・バークの便利な形式のlifecycle diagramの再フォーマットから、私たちの活動は停止中に殺され始めるが、(致命的に)破壊されないと思われる。どのようにしてonRestart()をトリガーするためにアクティビティを停止(killではなく)しますか?

つまり、実行すると呼び出される関数はonPause(), onStop(), onRestart(), onStart()onResume()です。重要な点は、これは、アプリケーションが単に殺されてメモリから削除された場合に発生する、onCreate()ではなくonRestart()が途中で呼び出されていることに注意してください。これは問題だと思います。

これは設定です。ここに質問があります:私はこのアプリケーションを確実にというように強制して、この状態を再現できる方法がありますか?私はアプリを殺すつもりはないし、ちょうどpausedであることを望んでいない。

ADBコマンドはありますか? DDMS?電話の中の何か?

私は他のメモリを必要とするアプリケーションを実行することによってそれを偽造しようとしましたが、それは常に単に完全に殺されてしまいます。つまり、アプリケーションが起動し、onCreateが実行され、何も学習しません。

答えて

2

私は確実にこの状態を再現できるようにアプリケーションを停止させることができます。私はアプリを殺すことを望んでいない、私はそれがちょうど一時停止することを望んでいない。

HOMEボタンを押します。

+2

そして、HOMEボタンを押したまま、アプリケーションに戻って再起動してください。 – EboMike

+0

これは単純に一時停止されませんか?ドキュメントを読むことから、メモリの一部が必要になるまで、ドキュメントは停止しません。これは、プログラムが停止しているかのように、プログラムデータの一部がガベージコレクションされているという問題と一貫しています。この問題は、しばらくの間アプリから離れて移動した後にのみ現れます(これは私が知る限り正確です)、戻ってきます。 – Hober

+0

@Hober:「これは単にこれを一時停止させてもらえませんか?」 - いいえ、それは停止されます。 "その記憶の一部が必要になるまでは止まらない" - それは破壊されたときである。 – CommonsWare

関連する問題