如果我使用del huge_object
,之后使用gc.collect()
会释放huge_object
答案 0 :(得分:1)
简短回答:这取决于......
答案很长:这取决于huge_object
是否是实际对象的最后一个引用。如果是(例如因为它是唯一存在的引用),该对象将被标记为垃圾收集,并且其内存将由n gc.collect()
回收。但事实并非如此:
huge_object = Huge_Class()
x = huge_object
del huge_object
gc.collect() # does not free memory for the huge object
只有引用被破坏,只要x
存在,对象就会保持活着。