2016-08-05 4 views
0

アクティビティが一時停止状態になると、アクティビティが部分的に別のアクティビティで覆われたときに発生する可能性がありますが、一時停止状態になるのは何ですか?より正確には:アンドロイドのアクティビティが一時停止状態になるときに実際に一時停止されるのは何ですか?

  1. は、それは、着信タスクまたはMSGのを処理してから、ルーパーを一時停止していたが、それはまだ仕事がルーパーのMSGキューに提出することができますか?
  2. アクティビティにメッセージを受信するメッセンジャーがある場合、サービスを想定すると、メッセンジャーキューもタスクの処理のために一時停止されますが、それでもメッセージは受信できますか?上記の場合とほとんど同じです。 1.
  3. ケース1または2または(1と2)が有効な場合、アクティビティが再開するとポスト状態のUIタスクバッファ(投稿How to handle Handler messages when activity/fragment is pausedで提案されているように)を処理する必要はありませんメッセージ処理キューを開始し、何も失われません。私はこの前提で正しいのでしょうか?

私はこれが実装されているべきだと感じていますが、このような場合にはわかりません。

答えて

0

(簡体字) アクティビティは表示されているがフォーカスされていないときは一時停止状態です。 これは背景です。

+0

返信いただきありがとうございますが、私はこれ以上見ています。私はそれが一時停止状態にあることを知っていますが、私の質問は、プロセスを実行している状態から、一時停止状態が意味するものですか? – Vivek

0

通常、Activityは一時停止しています。そのUI要素が最前面にないことを意味します。 UIスレッドはまだです。です。これは、Looperが依然としてメッセージを処理できることを意味します。あなたが言うメッセンジャーはまだ動作します。

UI要素が表示されない場合もありますが、バックグラウンドで状態を変更することはできます。たとえば、TextViewのテキストを変更します。 Activityがもう一度再開されると、そのような変更を見ることができます。

+0

それは、アクティビティが一時停止状態になってもルーパー/メッセンジャーによってすべてのタスクが実行されますが、レンダリングは条件付きでスキップされます(一時停止のようなものです)。残りはすべて同じです。 – Vivek

+0

アクティビティが停止するとどうなりますか。停止は何を意味しますか?この場合、Looperは停止されていますか(タスク提出のためにブロックされていますか)? onStop()の後、Activityが前面に来るとonRestart() - > onStart() - > onResume()を実行するため、この場合はPaused状態から再開するときよりも多くの処理を行う必要があります。 – Vivek

+0

私の意見では、停止の状態は、UIとより関連しています。 UI要素は表示されません。オペレーティングシステムは、ユーザが他の「活動」と対話できるように、「活動」を停止する。 – shhp

関連する問題