2017-05-24 15 views
2

Google I/O 2017で講演されたthis partには、FragmentTransactionで呼び出すことのできるsetReorderingAllowed()の新しいAPIが紹介されています。いつFragmentTransactionでsetReorderingAllowed()を呼び出す必要がありますか?

スピーカーは説明する:

それは あなたのフラグメントの状態を変更することなく、すべてを一度にすべての実行が起こることを可能にして、一番最後に我々が育っする必要があるすべての 断片を起動し、解体する必要のあるフラグメント をすべて分解してください。これを最適化することができます。

そして、次のサンプルコードを示しています。

fragmentManager.beginTransaction() 
    .replace(R.id.container, fragment1) 
    .addToBackStack("state1") 
    .setReorderingAllowed(true) 
    .commit(); 

fragmentManager.beginTransaction() 
    .replace(R.id.container, fragment2) 
    .addToBackStack("state2") 
    .setReorderingAllowed(true) 
    .commit(); 

FragmentTransaction Sは別途、彼らが個別に発生しているので、あなたを与える.setReorderingAllowed(true)任意の最適化を否定コミットしませんか?

これは新しく発表されたAPIなので、現在利用可能なドキュメントがないようです。

+0

メソッド 'setAllowOptimization'は、APIレベル26.0.0-beta2で廃止され、' setReorderingAllowed(boolean) 'に名前が変更されました。 [Documentation](https://developer.android.com/reference/android/support/v4/app/FragmentTransaction.html#setReorderingAllowed(boolean))も利用可能です。 –

答えて

2

サポートライブラリ25.1.0以降はすでに述べたとおりの方法だと思われますが、現在はsetAllowOptimization(true)と呼ばれています。 documentationには、「トランザクション内およびトランザクション間の最適化操作」が明確に記載されているため、個別のトランザクションを最適化します。

関連する問題