android片段添加vs替换内存方面

时间:2016-08-23 02:28:41

标签: android android-fragments

如果我在页面上只有一个片段,则调用replace和remove / add基本相同。

我似乎找不到一篇文章谈论这两种方法之间的缺点和优点。我更担心性能,如果add会产生内存泄漏,因为片段没有经过它的生命周期来释放片段中的视图和变量。

有人可以解释一下利弊吗?谢谢!

1 个答案:

答案 0 :(得分:0)

替换会删除现有的片段并添加一个新的片段。这意味着当您按下“后退”按钮时,将创建被替换的片段,并调用其onCreateView。

添加会保留现有片段,并添加一个新片段,这意味着现有片段将处于活动状态,并且不会处于“已暂停”状态,因此当按下onCreateView上的后退按钮时,不会调用现有片段片段(添加新片段之前的片段)。

就片段的生命周期事件而言,onPause,onResume,onCreateView和其他生命周期事件在替换的情况下将被调用,而在add的情况下将不会被调用。