我有一個片段,並在該片段中,我開始一個工作線程,它可以執行一些可能需要幾秒鐘的工作。工作線程完成後,我必須通過調用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會收集片段被銷燬後在片段中創建的對象?