我有一个具有单个活动的应用,其中所有屏幕都显示为片段。
因此,当我更改片段的大多数时候,我将它添加到后台堆栈。所以BackStack会变得非常大。
getActivity().getSupportFragmentManager()
.beginTransaction()
.replace(R.id.leftPane, new ReleaseFragmentBuilder(releaseId).build())
.addToBackStack(null)
.commit();
我的问题是,如果我想要替换片段但不再保留BackStack(BackStack重置),一个选项是通过执行PopBackStack直到root(这是超低效并且已经看到其他问题)来清除BackStack或者做一个片段替换而不将它添加到BackStack
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.leftPane, new HomeFragment())
.commit();
那么你推荐什么?如果我只使用替换,它是否有任何内存问题?