メニュー付きの基本アクティビティがあるとしましょう。メニュー項目Aをクリックすると、アクティビティAに移動します。メニューをもう一度開いてBに移動します。BIからAに戻り、次のように4番目に戻ります。しばらく。
したがって、スタックはA、B、A、B、A、B、...になります。そして、戻るボタンを押すと、期待どおりにスタックを逆方向に進みます。
ただし、この機能は必要ないので、マニフェストに追加しandroid:noHistory="true"
ます。したがって、戻るボタンを押すと、スタックを通過するのではなく、アプリケーションを終了します。
これで、錯覚が現れます。たとえば、アクティビティAにいる場合、メニューを使用してアクティビティBに移動すると、Aに戻ることができないため、スタックはBになります。
しかし、を使用する場合noHistory="true"
、A、B、A、B、A、Bの真のスタックは存在しますか?むしろ、メニューを使用してアクティビティを呼び出すたびに、そのアクティビティの新しいコピーがインスタンス化されますが、ユーザーには表示されませんか?これはリソースの問題を引き起こしますか?
または、の場合noHistory="false"
、戻るボタンは単にstartAcitvity(intent)
もう一度のようなものを呼び出しますか、それともインスタンス化された新しいコピーごとに実行されますか?
私はリソースの問題に関心があり、ユーザーのAndroidデバイスの速度を低下させていません。