我有一个片段,并在该片段中,我开始一个工作线程,它可以执行一些可能需要几秒钟的工作。工作线程完成后,我必须通过调用mDatabaseHandler.insertSomething(something)(mDatabaseHandler是片段中的私有实例)将某些内容插入sqlite数据库。碎片后的碎片被破坏; GC收集它们时?
工作线程中我不访问UI线程创建的任何视图,但我访问在该片段中创建的对象。如果我删除该片段或将其摧毁,会发生什么?我读过,当片段被删除onDestroyView被调用。但我不确定其他物体会发生什么。我试图在片段的onDestroy方法中做一些操作:
@Override
public void onDestroy() {
super.onDestroy();
Client client = mDatabaseHandler.getTheLastClient();
Log.e(TAG, "Client full name: " + client.getFullName());
}
一切工作正常。所以我最后的问题是:什么时候GC会收集片段被销毁后在片段中创建的对象?