片段删除后Android回收资源

时间:2013-07-04 13:45:39

标签: android android-fragments android-memory

我正在添加和删除某些碎片。我的问题是,如果我删除片段,如:

getSupportFragmentManager().beginTransaction().remove(myFragment).commit();

如何确保Android DOES从内存中删除此片段及其所有资源(特别是图像)?因为对我而言,即使片段本身已从布局中删除,它仍会保留在内存中,直到其父活动完成。

1 个答案:

答案 0 :(得分:0)

测试是否有任何java对象被回收的一件事是覆盖finalize方法(参见android garbage collector, freeing objects inside objects的已接受答案) )

看起来像什么:在你的片段类(或任何其他感兴趣的类)中

    @Override
protected void finalize() throws Throwable {
    Log.i("Fragment Recycled",this.toString());
    super.finalize();
}

对于任何其他感兴趣的对象也可以这样做。一旦覆盖了finalize方法,你可以查看log cat以查看Fragment是否被回收。我希望这有帮助。