次のコードについて何か考えはありますか?私のテストでは、置き換えられたフラグメントは破棄されておらず、バックスタックをポップしてもインスタンスはまだ残っています。これがフラグメントトランザクションを使用する有効な方法であることを確認するためだけに探しています。
getSupportFragmentManager().beginTransaction().addToBackStack(null).replace(frame, fragmentB).commit();
Replaceを使用する理由は、置換されたフラグメントが終了アニメーションを実行するためです。
Androidデザイナーガイドを参照してください: http://developer.Android.com/guide/components/fragments.html
具体的には、以下のスニペット:
// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
だから、はい、あなたがしていることはフラグメントを置き換える際の正しいアプローチです。