1

すべての画面がフラグメントとして表示される単一のアクティビティを持つアプリがあります。

したがって、ほとんどの場合、フラグメントを変更するときは、バックスタックに追加します。したがって、BackStack は非常に大きくなる可能性があります。

getActivity().getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.leftPane, new ReleaseFragmentBuilder(releaseId).build())
    .addToBackStack(null)
    .commit();

私の質問は、フラグメントを置き換えたいが、BackStack をもう保持しない場合 (BackStack Reset) です。1 つのオプションは、root になるまで PopBackStack を実行して BackStack をクリアすることです (これは非常に非効率的で、他の問題が発生しています)。フラグメントを BackStack に追加せずに置換する

getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.leftPane, new HomeFragment())
    .commit();

だからあなたは何をお勧めしますか?replace のみを使用する場合、メモリの問題はありますか?

4

0 に答える 0