我如何删除所有使用 fragmentmanager 添加的片段?

How can i remove all fragments that are added with the fragmentmanager?

我像这样添加了多个片段:

 currentWebViewFragment = tabs.get(currentTabIndex);
 FragmentTransaction ft = fm.beginTransaction();
 ft.add(R.id.webViewFrame,tabs.get(currentTabIndex));
 ft.commit();

但是“如果 activity 被暂停或停止,系统可以通过要求它完成或简单地终止其进程来从内存中删除 activity。

如果 activity 被销毁并保存其状态,片段管理器也是如此。

当 activity 被销毁并决定保存其状态时,如何删除从 fragmentmanager 添加的所有片段?

你可以把所有的片段加到一个ArrayList中,然后你就可以使用remove(fragment),例如:

FragmentTransaction ft = fm.beginTransaction();

for (Fragment fragment : fragmentList){

    ft.remove(fragment);

}

ft.commit();

如果您想避免保存状态,您可以将其放入 onSaveInstanceState 方法或 onStop 中。