从Android中的Stack弹出时释放对象的内存

时间:2015-03-26 08:06:17

标签: android memory-management

我正在使用堆栈来管理我的应用程序中的Fragment。我使用自己的堆栈来执行某些特定的操作,而不是使用Android的内置功能。<​​/ p>

我使用以下代码替换片段。

FragmentTransaction ft = fragmentManager.beginTransaction();
    if (bundleToPass != null) {
        fragmentToLoad.setArguments(bundleToPass);
    }
    ft.replace(R.id.content_frame, fragmentToLoad, "TAG_FRAGMENT");
    fragmentToLoad.setFragmentType(type);
    ///Local stack to manage the fragments
    activity.AddToStack(fragmentToLoad);
    ft.commit();

基于我从堆栈弹出的一些逻辑。我正在使用

localStack.pop()

一旦为片段调用pop,有没有清除内存?

1 个答案:

答案 0 :(得分:0)

不。 Java是一种垃圾收集语言,系统控制何时清除内存。您可以调用System.gc来要求它进行垃圾收集,但是无法控制它清理多少或清除什么以及它留下什么。此外,System.gc会将线程暂停(可能是所有线程),持续时间不确定。