何时应该在FragmentTransaction上调用setReorderingAllowed()?

时间:2017-05-24 18:30:42

标签: android android-fragments fragmenttransaction

在2017年Google I / O上发表演讲的this part时,发言人为setReorderingAllowed()推出了一个新的API,而不是FragmentTransaction

发言人解释说:

  

它允许所有执行一次完成而无需更改   你的片段状态,然后在最后我们提出所有的   需要提起并拆除所有碎片的碎片   需要拆除......所以我们可以为你优化这个。

并显示以下代码示例:

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,因此目前没有可用的文档。

1 个答案:

答案 0 :(得分:2)

我相信他们提到的方法已经存在,因为支持库25.1.0,但目前称为setAllowOptimization(true)documentation明确指出“优化交易内和交易之间的操作”,因此它将优化不同的交易。