2017-01-04 10 views
1

私のアプリには主なアクティビティがあり、あるユーザアクションでは別のアクティビティを開く(アクティビティスタックに残る)ことがあります。フォアグラウンド以外のアクティビティのアクティビティライフサイクル

Androidは、必要に応じて、現在表示されているものが無傷であるにもかかわらず、バックグラウンドのときにメインアクティビティを強制終了することができます。 私は過去にこの現象を見てきたと確信しています(2-3年前)。

  • どのような条件の下ではAndroidはアプリがフォアグラウンドであるにもかかわらずバックグラウンド活性を殺すために決めるかもしれません -

    ここで質問がありますか?

  • Android /ベンダーの特定のバージョンには、これよりも多くの機会がありますか?
  • 私が正しく覚えていれば、そのような場合には、アクティビティのonStopが呼び出される場合とされない場合があります。この仮定は正しいのでしょうか?

答えて

2

私の理解では、Androidは、必要に応じて、アンドロイドにはmain activity概念がありません主な活動

を殺すために決めることができています。あなたのアプリは全体として殺されるか、あるいは未使用の要素がガベージコレクションされる可能性があります。

私はこれは、現象が、通常のAndroidシステムの動作ではありません。この現象

を見ているかなり確信しています。

アプリがフォアグラウンドになっているにもかかわらず、Androidがバックグラウンドアクティビティを殺すことを決定する条件はありますか。

実際には関係ありません。気にする必要があるのは、あなたが殺されたり再開されたり、必要なのはデータが生き残ることができることを知っていることだけです。

Android /ベンダーの特定のバージョンでは、これを行うチャンスが他にもありますか?

もう一度同じ - それは問題ではありません。あなたのアプリがそのようなケースを正しく処理していることを確認してください。

私が正しく覚えていれば、そのような場合にはアクティビティのonStopが呼び出される場合とされない場合があります。この仮定は正しいのでしょうか?

いいえ、プロセスが実際に殺されない限り、ガベージコレクションは行われません。

+0

バックグラウンドアクティビティが強制終了された場合に、アプリケーション自体がフォアグランドにある間のバックグラウンドアクティビティは、現在の実装では非常に困難です。これが非常に顕著で、多くのデバイス/状況で起こる場合、これは優先度の高いバグになります。そうでなければ私たちはしばらくこのライブで生活するかもしれません:-)私が強調しようとしているのは、アプリ内の他のアクティビティがフォアグラウンドになっているときにバックグラウンドアクティビティを殺す確率です。 – anindyaju99

+0

'Service'、' AlarmManager'などのバックグラウンド作品について 'Activity'はバックグラウンドで実行されているものから完全に切り離されなければなりません - そこにデータを表示するかもしれませんが、あなたはイベントバスのパターンがあなたのために働いているかどうかチェックしたいかもしれません –

1

アクティビティが別のアクティビティによって完全に隠されている場合、アクティビティは停止します。それでも、すべての状態とメンバの情報は保持されますが、ユーザには表示されなくなり、そのウィンドウは隠され、メモリが必要なときにシステムによって殺されることがよくあります。あなたの質問は、あなたのMainActivityは、すぐにあなたの新しいアクティビティが起動されると停止します答えるために

アクティビティのライフサイクルをよく読んでください。 https://developer.android.com/reference/android/app/Activity.html

私はこの出来事の可能性を探していますなぜ
+0

私はライフサイクルを認識していて、onPauseは必ず呼び出されますが、アクティビティはクリアされる場合もあれば、クリアされない場合もあることを理解しています。最初の答えに関する私の他のコメントを見てください。 – anindyaju99

+0

フォアグラウンドにないアクティビティがシステムによって強制終了されることは非常に一般的です。このような状況が発生しても、アプリケーションが正常に動作することを確認する必要があります。設定/開発者オプション/バックグラウンドプロセスを制限する場合は、手動で設定することができますので、新しいアクティビティを開始するときに常に発生します。 – Slickelito

関連する問題