2

タスクとバックスタックの公式開発ガイドによると、アクティビティは複数回インスタンス化でき、ホームアクティビティは例として取り上げられています

1つのアクティビティが複数回インスタンス化されます

グラフが示すように、私はそれを試してみました:

  1. アクティビティ2を起動します
  2. ホームボタンを押す
  3. アクティビティ1を起動します
  4. 戻るボタンを押します(ホーム画面に戻ります)
  5. もう一度戻るボタンを押す

しかし、アクティビティ1には戻りませんでした。したがって、ホームアクティビティは複数回インスタンス化されていないようです。そうですか?もしそうなら、それはどのようにバックスタックに保持されますか?

編集:申し訳ありませんが、私はそれをテストするためのコードを書いていなかったことを以前に明確にすべきでした。私がやったことは、お気に入りトレイでアプリケーションを起動することだけです。ソースコードを読んで、ホームアクティビティの動作を検索したほうがいいです。
とにかく、ホームアクティビティは、複数のインスタンスを説明するためのここでの良い例ではないと思います。

4

1 に答える 1

0

あなたの問題はfinish()Activity2. または、OSActivityに戻る前に 2 番目にクリアします。自分で達成しようとしている行動に保証はありません。Activityに戻ることができるように、 を強制的に実行し続けることはできません。

于 2012-06-18T05:08:28.697 に答える