我正在添加和删除某些碎片。我的问题是,如果我删除片段,如:
getSupportFragmentManager().beginTransaction().remove(myFragment).commit();
如何确保Android DOES从内存中删除此片段及其所有资源(特别是图像)?因为对我而言,即使片段本身已从布局中删除,它仍会保留在内存中,直到其父活动完成。
答案 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是否被回收。我希望这有帮助。