新しい appcompat ライブラリcom.android.support:appcompat-v7:25.1.0
に更新した後、トランザクションでフラグメントを置き換えるときに、新しいフラグメント ライフサイクルを取得しました。
たとえば、2 つのフラグメントがFrFirst
ありFrSecond
、logs inonStart
およびonStop
があり、first を second に、次に second を first: に置き換えますFrFirst -> FrSecond -> FrFirst
。
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content, new FrSecond())
.commit();
以前の appcompat バージョンでは、次のログを読み取ることができます。
FrFirst: 2 番目に
移動 FrFirst: 停止
FrSecond: 開始FrSecond: 最初に
移動 FrSecond: 停止
FrFirst: 開始
25.1.0 では、次のログが記録されます。
FrFirst: 2 番目に
移動 FrSecond: 開始
FrFirst: 停止FrSecond: 最初にナビゲートする
FrFirst: 開始
FrSecond: 停止
ということで、現在onStart
のそれ以前に呼ばれる断片を提示するonStop
。
なぜメソッドの順序が変更されたのですか? サポート ライブラリのバグですか?