gpt4 book ai didi

android - 清除 fragment 返回堆栈编程

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:02 26 4
gpt4 key购买 nike

以编程方式清除 fragment 返回堆栈的最佳方法是什么?

我只使用一个 Activity 和一组 fragment 实现了屏幕导航。我想要一种将用户带到登录屏幕的方法(当注销超时到期时)并清除所有 fragment 历史记录,最好的方法是什么?我在这里找到的答案很少,但我不知道哪个是最好的...提前致谢!

目前我用的是这个

public void clearBackStack() {
FragmentManager fragmentManager = holder.getSupportFragmentManager();

while (fragmentManager.getBackStackEntryCount() != 0) {
fragmentManager.popBackStack(null, 0);
}
}

但有时我会遇到 outOfMemoryException

最佳答案

在这一点上这是一个相当古老的问题。不管怎样,我试过你的代码,看起来你有一个无限循环。

popBackStack(null, 0) 搜索带有 null 标签的 fragment ,永远找不到。 while 循环将循环直到内存用完。 popBackStack 的另一个问题是弹出不一定立即执行,因此 while 循环可能会运行一段时间。

如果您想从返回堆栈中删除 fragment 而不考虑标记或 ID,请改用 fragmentManager.popBackStackImmediate()

关于android - 清除 fragment 返回堆栈编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10225367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com