所以我已经知道如何打开fragment
. 这是我的困境。我有一个元素列表(元素周期表元素),它位于我的view
. 当您选择一个元素时,它会显示它的信息。
我的问题是我需要能够view
从(我们将称为详细信息片段)中删除并将其从堆栈中删除,这样我就没有大量的内存备份。
fragment
当调用 new 来替换它时,如何从堆栈中删除它?
所以我已经知道如何打开fragment
. 这是我的困境。我有一个元素列表(元素周期表元素),它位于我的view
. 当您选择一个元素时,它会显示它的信息。
我的问题是我需要能够view
从(我们将称为详细信息片段)中删除并将其从堆栈中删除,这样我就没有大量的内存备份。
fragment
当调用 new 来替换它时,如何从堆栈中删除它?
#remove()
您可以使用 的方法删除片段FragmentTransaction
。此方法还会从已附加到的容器中删除视图。
但是,从片段文档中:
已停止:片段不可见。主机活动已停止,或者片段已从活动中删除但已添加到后台堆栈。已停止的片段仍然存在(系统保留所有状态和成员信息)。但是,它不再对用户可见,并且如果该活动被终止,它将被终止。
如果您已将该片段添加到后台堆栈,则在活动被杀死之前它不会被杀死。
您可以尝试禁止添加到后台堆栈。当一个片段被删除或替换时,它不会被添加到后台堆栈中,并且需要再次重新填充(使用数据)。