3

Application Fundamentals チュートリアルのActivity lifecycleセクションには、 3 つの状態があると記載されています。

アクティビティには、基本的に次の 3 つの状態があります。

(1. アクティブ/実行中 2. 一時停止 3. 停止)

しかし、実際の Activity クラスのドキュメントを読み続けると、Activity Lifecycleセクションには4 つの状態があると記載されています。

アクティビティには、基本的に次の 4 つの状態があります。

(1. アクティブ/実行中 2. 一時停止 3. 停止 4. 「ドロップ」?)

両方の情報源 (同じ Web サイト上) は最初の 3 つについて同意していますが、4 番目のものはクラスのドキュメントでのみ言及されており、名前はありません。

では、実際には 4 つの州があるのでしょうか、それとも 3 つしかないのでしょうか?

4つある場合、4つ目の名前は?

この矛盾を理解するのを手伝ってください。

また、この美しく非常に有益なフローチャートで強調表示された色付きのブロックは、状態に対応していないようです。フローチャートのどこに3 つまたは 4 つの状態をマークしますか?

4

2 に答える 2

4

私はそれを3つの状態として説明します。4 番目の「状態」は、Android が RAM を解放するためにアクティビティを破棄する可能性があるという点で、存在しません。ただし、[戻る] ボタンを使用してそのアクティビティに到達できる場合、Android はBundlefromにハングアップしonSaveInstanceState()、アクティビティを再作成するときにそれを使用します。これをキャッシュされた「状態」と見なしたいのであればBundle、私は文句を言いませんが、それは私が通常説明する方法ではありません。

また、この美しく非常に有益なフローチャートで強調表示された色付きのブロックは、状態に対応していないようです。

ほとんどの場合、その図はライフサイクル メソッドのシーケンスを示しています。あなたが言うように、これはフローチャートであり、状態図ではありません。

フローチャートのどこに 3 つまたは 4 つの状態をマークしますか?

私はしません。ただし、アクティブ/実行中の状態は緑色の「アクティビティが実行中」のバブルであり、一時停止の状態は白い「アクティビティが表示されていません」のバブルであり、停止状態は と の間にonStop()なりonDestroy()ます。存在しない「状態」は、赤い「プロセスが強制終了されました」というバブルになります。

于 2010-12-29T15:54:01.403 に答える
1

この図は 4 つの状態を表しており、4 番目には というラベルが付いていDestroyedます。

ただし、ご覧のとおり、この 4 番目の「状態」はどこにもつながりません。つまり、別の状態に「離れることができる」他の 3 つの状態とは異なり、この「破壊された」状態は行き止まりです。

于 2011-05-24T19:16:38.113 に答える