Fragment リークに苦しんでいますが、それを処理する方法がわかりません:
FragmentActivity (私はサポート lib v4 を使用しています) に 2 つのボタンがあります: 前後。4 番目のボタンは長いアニメーションでフラグメントをバックスタックに追加し、戻るボタンはバックスタックからフラグメントをポップします。
4 番目のボタン クリック リスナーのコード:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.own_slide_in_left, R.anim.own_slide_out_right, R.anim.own_slide_in_left, R.anim.own_slide_out_right);
transaction.add(R.id.fragment_holder, new FirstFragment());
transaction.addToBackStack(null);
transaction.commit();
戻るボタンのクリック リスナーの場合:
getSupportFragmentManager().popBackStackImmediate();
アニメーションの進行中に戻るボタンを押してデバイスを回転させると、回転後に視覚的にすべて問題ないように見えますが、前のフラグメントがリークされます。Fragment の ctor や onSaveInstanceState() などにブレークポイントを設定することで、それを知ることができます。そうあるべきではないとき、それは各ローテーションでそれになります。
私は何を間違っていますか?
編集: この問題は、ネイティブ フラグメント、Android 4.0.3 を使用しても解決しません。