1

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 を使用しても解決しません。

4

0 に答える 0