当我致电popBackStack
时:
manager.popBackStack("mybackstack", FragmentManager.POP_BACK_STACK_INCLUSIVE);
将释放属于“mybackstack”的片段保留的内存吗?
我有FragmentActivity
来管理ListFragment
。每次我点击项目时,FragmentActivity
都会实例化一个新Fragment
,其中显示有关所点击项目的一些信息,然后显示带有位图的DialogFragment
(当对话框被解除时我会回收)。我将android:configChanges="orientation"
放在清单中并根据需要覆盖onConfigurationChanged
。
答案 0 :(得分:1)
是的,片段保留的内存将被释放。从文档中,
public static final int POP_BACK_STACK_INCLUSIVE
标记 popBackStack(String,int)和 popBackStack(int,int): 如果设置,则返回堆栈的名称或ID 已提供条目,然后将使用所有匹配的条目 直到找到一个不匹配的或堆栈的底部是 到达。否则,所有条目最多但不包括该条目 将被删除。
和
public abstract void popBackStack (String name, int flags)
从管理器的片段回栈中弹出最后一个片段转换。 如果没有要弹出的内容,则返回false。这个功能是 异步 - 它将请求排入pop,但操作会 在应用程序返回其事件循环之前不会执行。
但请注意,无法保证此内存会立即释放。