android - fragment 垃圾收集

标签 android android-fragments fragment android-fragmentactivity

我在我的应用程序中使用 fragment ,我怀疑通过每次添加和删除 fragment ,删除 fragment 时是否收集了 fragment 垃圾?

这是我的代码:

在 onCreate() 中

 FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
 fragmentTransaction.add(detailFragmentID, new MyDetailFragment());
 fragmentTransaction.add(fragmentID, new MyListFragmentt());
 fragmentTransaction.commit(); 

在onRestart()中

 FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
 Fragment previousFragment = getSupportFragmentManager().findFragmentById(detailFragmentID);
 if (previousFragment != null) {
     fragmentTransaction.remove(previousFragment);
 }
 fragmentTransaction.add(detailFragmentID, new MyDetailFragment());
 fragmentTransaction.commitAllowingStateLoss();

在这里,当我去参加一些 Activity 并回来时,将调用 onRestart。

通过每次添加和删除 fragment , fragment 垃圾收集到这里了吗?

[正确格式化代码]

最佳答案

很难知道它是否经过了 GC。我认为您真正要问的是 fragment 是否被 标记 用于 GC(即稍后会得到 GC)。

检查这一点的最简单方法是在 Fragment 的 onDestroy() 方法中放置一个断点,然后查看是否会调用它。您可以确信,如果系统“销毁”您的 Fragment,它最终将获得 GC。

关于android - fragment 垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21473916/

相关文章:

android - 使用部分字符串匹配进行 Firebase 查询

android - 如何使用 fragment 主细节实现抽屉导航

java - 无法将数据从 AppCompatDialogFragment 传递到 Fragment (NullPointerException)

android - android 中 google map v2 右上角的罗盘位置

android - 使用 ESP8266 查找本地网络上的其他设备

android - 构建时出现简单的应用程序错误

java - 避免/阻止 fragment 在更改选项卡时刷新

android - 在 android 小部件中显示 fragment

android - 通过 UIAutomator 快速设置

java - 删除 BottomNavigationView 图标和中心标题