0
如果我使用del huge_object
和使用後gc.collect()
它會釋放時所採取huge_object
gc.collect是否爲我已刪除的變量釋放內存?
如果我使用del huge_object
和使用後gc.collect()
它會釋放時所採取huge_object
gc.collect是否爲我已刪除的變量釋放內存?
簡短的回答內存:這取決於...
龍答:這取決於huge_object
是否是在最近的基準實際的對象。如果它是(例如因爲它是唯一存在的參考),則該對象將被標記爲垃圾收集,並且其內存將由ne gc.collect()
收回。但它可能不會是這樣:
huge_object = Huge_Class()
x = huge_object
del huge_object
gc.collect() # does not free memory for the huge object
只有參考已經被破壞,物體將保持活着,只要x
會存在。